zoukankan      html  css  js  c++  java
  • 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;
            }
        }
    
  • 相关阅读:
    【来自知乎】AR技术可以通过H5实现吗?不通过APP
    太虚AR
    【ArUco】- Augmented reality library based on OpenCV
    unity MVC简易框架! MVC in Code Control
    游戏服务器框架与互联网产品的认识
    关于 boost::asio::io_service::run() 出现【句柄无效】的问题
    编译luabind-0.9.1 出现 error C2665: 'boost::operator ==' : none of the 4 overloads could convert all the argument types 的解决方案
    javascript 控制 table tr display block 显示模式时,只对第一个单元格有效
    Ogre::UINT 与 其他库的 类型冲突问题
    排序仿函数 出现 std::priority_queue::push() 的 invalid operator < 异常
  • 原文地址:https://www.cnblogs.com/kingning/p/11071000.html
Copyright © 2011-2022 走看看