首页 > 系统相关 >Nginx与LUA(1)

Nginx与LUA(1)

时间:2023-01-10 17:03:51浏览次数:32  
标签:Web HTTP nginx index Nginx 服务器 LUA

您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~




HTTP服务器是相对于HTTP客户端来说的——HTTP客户端就是各种常用的「浏览器」,如IE、chrome、微信浏览器。

当浏览器通过URL地址栏访问一个Web页面时,会发送一连串请求,或者说HTTP服务器能懂的「语言」,告诉自己需要什么。

HTTP服务器通过解析「请求头」,或者通过静态页面给出内容,或者将客户端需要的内容通过编程语言「计算」出来,然后再返回给浏览器。

HTTP协议只是庞大的TCP/IP协议簇的一部分,HTTP服务器一般情况下是泛指解析包括HTTP协议在内的各种协议的Web服务器,如邮件、文件、DNS等。

如果没特别说明,HTTP服务器和Web服务器通常是一个概念。


那什么是Web容器呢?

C#服务端用的IIS、PHP服务端用的Apache和Java服务端用的Tomcat都属于Web服务器的范畴。但这里面又有不同——

Apache是纯粹的Web服务器,而IIS和Tomcat除了要解析HTTP协议内容之外,还需要处理诸如静态资源、解释/执行JSP/ASP页面标签、组件生命周期等更「专业」的内容。

所以在HTTP服务器/Web服务器之上,把处理这些专业内容的服务称为「容器」。

如果包括更为专业的「服务」,如事务管理、数据库连接池、Bean注入等,则称为「应用服务器」。

综上所述:HTTP/Web服务器 < 容器 < 应用服务器


那什么又是代理呢?

官方的描述:Nginx是一个轻量级、高性能的HTTP和反向代理服务器,同时也提供IMAP/POP3/SMTP这类常见邮件服务。

轻量级、高性能、单线程、非阻塞异步工作模型,最大限度利用Linux本身提供的epoll多路复用技术,配置简单灵活,模块化结构,资源占有率低且利用率高。

说反向代理,就不得不说正向代理。正向代理位于客户端与目标服务器之间,向客户端隐蔽了具体的请求细节,向目标服务器隐蔽了客户端身份,并在二者之间传输/转发信息。

Nginx与LUA(1)_反向代理


因此,Nginx的主要作用也就包括了:

1、作为HTTP/邮件服务器

2、作为反向代理服务器

3、作为负载均衡服务器


安装Nginx:

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel

yum install -y openssl openssl-devel

cd ~

wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

tar -zxvf nginx-1.18.0.tar.gz

cd nginx-1.18.0

./configure

make && make install

默认安装到/usr/local/nginx/目录

启动:

cd /usr/local/nginx/sbin/

./nginx # 启动

./nginx -s stop # 停止

./nginx -s quit # 退出停止

./nginx -s reload # 重新加载配置文件

开机自启动:

vi /etc/rc.local

增加一行

cd /etc

chmod 755 rc.local

安装好Nginx之后,如果看到这个页面就说明安装成功:

Nginx与LUA(1)_反向代理_02


当只有静态资源的时候,也可以用Nginx来做服务器:

cd /home/work

mkdir www

vi index.html

重新写一个新的index文件

修改/usr/local/nginx/conf/nginx.conf文件

将#user  nobody;改为user  root;

location / {

    root  html;

    index index.html index.htm;

}

改为

location / {

    root  /home/work/www;

    index index.html index.htm;

}


重新加载Nginx:

cd /usr/local/nginx/sbin/

./nginx -s reload

查看结果:

Nginx与LUA(1)_LUA_03


Nginx实现动静分离也非常简单:根据一定规则把不变的资源和经常变的资源区分开来,就可以根据静态资源的特点将其做缓存或者CDN操作,这就是网站静态化处理的核心思路。

增加新的location:

Nginx与LUA(1)_nginx_04


重新加载Nginx:

cd /usr/local/nginx/sbin/

./nginx -s reload

拷贝一幅图片到/home/work/www目录

访问图片的路径:http://服务器/name.jpeg

和图片类似,css、js等文件都可以这样处理


Nginx最拿手的本事就是反向代理。以Java应用为例,一般都是以8080端口为入口,但如果想改为80端口,就可以用Nginx来「代理」。修改nginx.conf:

server {

    listen        80;

    server_name  localhost;

    client_max_body_size 1024M;


    location / {

        proxy_pass http://localhost:8080;

        proxy_set_header Host $host:$server_port;

    }

}


编写一个简单的Java应用部署并测试。使用带端口的地址(Tomcat):

​http://172.16.185.136:8080/api/v1.0.0/system/test?username=xiangwang​

或者不带端口的地址(Nginx):

​http://172.16.185.136/api/v1.0.0/system/test?username=xiangwang​

都能成功访问。




感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~

标签:Web,HTTP,nginx,index,Nginx,服务器,LUA
From: https://blog.51cto.com/u_15817148/6000460

相关文章

  • Nginx与LUA(1)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   HTTP服务器是相对于HTTP客户端来说的——HTTP客户端就是各种常用的「浏览器」,如IE、chrome、微信浏览器。当浏......
  • Nginx
    Nginx概述1、介绍:Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。官网:https://nginx.org/2、下载与安......
  • 搬运 nginx代理https
    oauth2-client在Nginx代理后遇到的问题和解决方案 2020-01-17 2020-05-27 TECH 30MINUTESREAD(ABOUT4442WORDS)OAuth2Client在实际运用过程中遇到的问题......
  • Docker基础知识 (23) - 使用 Docker 部署 Nginx + Php/Laravel + MariaDB 项目 (2) -
    本文在“Docker基础知识(12)-使用Docker部署Nginx+Php/Laravel+MariaDB项目”基础上,修改Nginx的配置文件和docker-compose.yml,配置phpMyAdmin目录密码保......
  • keepalived+nginx
    yuminstall-ykeepalived主从都需要check_nginx.shcheck_nginx.sh内容如下:cat>/etc/keepalived/check_nginx.sh<<EOF#!/bin/bashcounter=$(ps-Cnginx--no-heading|......
  • nginx + keepalived 高可用配置
    ip 192.168.153.14主 192.168.153.15备 1、安装nginxyum-yinstallgccpcre-develzlib-developensslopenssl-devel#安装nginxwgethttps://n......
  • nginx静态目录加上动态URL转发
    vim/data/application/nginx-1.10.3/conf/nginx.confsendfileon;#tcp_nopushon;#keepalive_timeout65;keepalive_timeout0;#gzipo......
  • mysql+nginx+keepalived的高可用玩法
     AB 做负载均衡, CD做负载均衡,ABCD 四个服务器虚拟一个IPkeepalived强制分流到主中心的AB两台机器当主中心停电后,keepalived分流到备中心CD两台机器可以找我帮忙搞哈......
  • 【转】nginx调优之使用return代替rewrite做重定向
    使用return代替rewrite做重定向转自:https://www.jianshu.com/p/26dc6c2b5f43原文地址:https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#be......
  • CTOS NGINX绑定域名转发到DOCKER
    server{listen80default_server;listen[::]:80default_server;#SSLconfiguration##listen443ssldefault_server;......