nginx

Posted kingning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx相关的知识,希望对你有一定的参考价值。

localtion的语法

已=开头表示精确匹配
如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。

^~ 开头表示uri以某个常规字符串开头,不是正则匹配

~ 开头表示区分大小写的正则匹配;

~* 开头表示不区分大小写的正则匹配

/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到

几个案例:

server 
        listen       80;
        server_name  www.itmayiedu.com;
        #精确匹配,/后面不能带任何字符
        location =/ 
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm;
        

负载均衡的几种算法

  • 轮询机制
  • 权重
  • IP绑定
  • faiil
  • url

tip

nginx1.9之前nginx指支持七层负载均衡,应用层的负载均衡(所谓七层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层、)在1.9之后支持了四层传输协议也就是网络层的负载均衡。本质上时支持那个层的协议。

负载均衡的配置

#上游服务器 
upstream  backServer
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    
    
    server 
        listen       80;
        server_name  www.itmayiedu.com;
        location / 
            ### 指定上游服务器负载均衡服务器
            proxy_pass http://backServer;
            index  index.html index.htm;
        
    

带权重的配置

upstream  backServer
    server 127.0.0.1:8080 weight=1;
    server 127.0.0.1:8081 weight=2;
    
    
    server 
        listen       80;
        server_name  www.itmayiedu.com;
        location / 
            ### 指定上游服务器负载均衡服务器
         proxy_pass http://backServer;
            index  index.html index.htm;
        
    

Ip绑定

每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。俗称IP绑定。

upstream  backServer
        server 127.0.0.1:8080 ;
        server 127.0.0.1:8081 ;
        ip_hash; 
    
    
    server 
        listen       80;
        server_name  www.itmayiedu.com;
        location / 
            ### 指定上游服务器负载均衡服务器
            proxy_pass http://backServer;
            index  index.html index.htm;
        
    

故障转移

当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用。

server 
        listen       80;
        server_name  www.itmayiedu.com;
        location / 
        ### 指定上游服务器负载均衡服务器
        proxy_pass http://backServer;
        ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
        proxy_connect_timeout 1s;
        ###nginx发送给上游服务器(真实访问的服务器)超时时间
         proxy_send_timeout 1s;
        ### nginx接受上游服务器(真实访问的服务器)超时时间
         proxy_read_timeout 1s;
         index  index.html index.htm;
        
    

以上是关于nginx的主要内容,如果未能解决你的问题,请参考以下文章

NginxNginx配置REWRITE隐藏index.php

NginxNginx配置文件解析

NginxNginx基础操作

NginxNginx基础操作

NginxNginx基础操作

NginxNginx基础操作