nginx入门

常用命令

  1. nginx -v
  2. ngxin -s stop
  3. nginx 启动
  4. nginx -s reload 重新加载nginx.conf配置文件

配置文件

1.全局块

从配置文件开始到events块之间的内容为全局块,主要会设置一些影响nginx服务器整体运行的配置指令。
如: worker_processes 1; worker_processes值越大,可以支持的并发处理量也越多

2.event块

涉及的指令主要影响nginx服务器与用户的网络连接,常用的设置包括是否开启多个work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个word peocess可以同时支持的最大连接数等。如worker_connections 1024;
上述例子就表示每个work process支持的最大连接为 1024
这部分的配置对nginx的性能影响较大,在世界中应该灵活配置。

3.http块

3.1 http全局块

http全局块配置的指令包括文件引入,MIME-TYPE定义,日志自定义,连接超时时间,单链接请求数上限等。

3.2 server块

这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
每个http块可以包含多个server,而每个server块就相当于一个虚拟主机,每个server块也分为全局server块,以及可以同时包含多个location块。

nginx实例

  1. 反向代理
browser
nginx
tomcat8080

关键配置:

    server {
        listen       80;
        ***server_name  localhost;***
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            ***proxy_pass http://127.0.0.1:8080;***
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
  1. 反向代理多个
如果路径中包dev
如果路径中包test
browser
nginx
tomcat8081
tomcat8082

关键配置:

server {
        listen       9001;
        server_name  192.168.1.222;
        location ~ /dec/ {
             proxy_pass http://127.0.0.1:8080;   
        }
        location ~  /dev/ {
             proxy_pass http://127.0.0.1:8081;
        }
    }
  1. 负载均衡
browser
niginx负载均衡
tomcat8080
tomcat8081

关键配置:

upstream ***myserver***{
    server 192.168.1.222:8080;
    server 192.168.1.222:8081;
    }

server {
        listen       80;
        server_name  192.168.1.222;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass http://***myserver***;
            root   html;
            index  index.html index.htm;
        }
  1. 动静分离:可以简单理解为将动态请求与静态请求分开。
    关键配置:
location /www/ {
           root /usr/local/data/;
           autoindex on;
           # proxy_pass http://myserver;
           # root   html;
            index  index.html index.htm;
        }
        
        location /images{
            root /usr/local/data/;
            autoindex on;
            index  index.html index.htm;
        }
     #autoindex on :是否允许以列表方式访问静态资源(一般不用配置)   

负载均衡策略

  1. 轮询(默认)
  2. weight :代表权重,默认为1,weight越高分配的客户端就越多。
upstream ***myserver***{
    server 192.168.1.222:8080 weight=2;
    server 192.168.1.222:8081 weight=3;
    }
  1. ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题。
upstream ***myserver***{
    ip_hash;
    server 192.168.1.222:8080;
    server 192.168.1.222:8081;
    }
  1. fair(第三方):按后端服务器的响应时间来分配请求,响应时间段的优先分配.
upstream ***myserver***{
    fair;
    server 192.168.1.222:8080;
    server 192.168.1.222:8081;
    }

指令说明

  1. = :用于不包含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理请求。
  2. ~:用于表示uri包含正则表达式,并区分大小写。
  3. ~*:用于表示uri包含正则表达式,并且不区分大小写。
  4. ~~:用于不包含正则表达式的uri前,要求nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配。

注意:如何uri包含正则表达式,则必须要有 ~ 或者 ~*。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值