nginx的相关使用事项

1.nginx中location使用正则表达式

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

^~ 开头表示uri以某个常规字符串开头,不是正则匹配
开头表示区分大小写的正则匹配;

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

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

2.nginx根据域名不同拦截不同的项目名称

server {
	  ##监听的端口号
        listen       80;
	  ###  服务名称
        server_name  www.lex.com;	   
		### 匹配项目名称为tomcat_8080开头 #例如www.lex.com/tomcat_8080
       location /tomcat_8080/ {
	   ###  配置反向代理
            proxy_pass http://127.0.0.1:8080/;
            index  index.html index.htm;
        }
	   ### 匹配项目名称为tomcat_8081开头 #例如www.lex.com/tomcat_8081
		 location /tomcat_8081/ {
	   ###  配置反向代理
            proxy_pass http://127.0.0.1:8081/;
            index  index.html index.htm;
        }
    }

3.四级负载均衡和六级负载均衡

四级负载均衡主要是基于tcp协议的负载均衡,六级负载均衡主要是基于http的负载均衡

4.负载均衡的作用

负载均衡就是,将所有请求先到负载均衡器,在由负载均衡器采用负载均衡算法(轮训、IP绑定、权重)分发到不同实际的服务器中,这也就是服务器集群,集群的目的 是为了减轻单台服务器压力。

5.负载均衡带来的问题

使用负载均衡后,实际用到的服务器会被集群多台,那么这时候就会产生很多分布式相关问题。

比如:

分布式Session一致性问题

分布式定时任务调度幂等性问题

分布式生成全局订单

6.配置负载均衡上游服务器

###定义上游服务器(需要被nginx真实代理访问的服务器) 默认是轮训机制
    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;
        }
    }

7.常见的三种负载均衡算法配置

1.默认为轮询算法,常用于服务器之前的配置相差不多的情况

2.权重算法,常用与服务器配置差距较大的情况,配置低的服务器权重大一些多访问几次,配置低的少访问几次,权重配的少一些

   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;
        }
    }

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

upstream  backServer{
	    server 127.0.0.1:8080 ;
		server 127.0.0.1:8081 ;
		#这一行代表使用ip绑定
		ip_hash; 
	}
 	
	server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
		    ### 指定上游服务器负载均衡服务器
		    proxy_pass http://backServer;
            index  index.html index.htm;
        }
    }

8.负载均衡的故障后转移功能

当某个Tomcat服务器出现宕机时,为了不让nginx做负载均衡是一直等待,需要做容错处理,当出现宕机或延迟时自动访问下一台服务器

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;
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_36258498/article/details/84627679
今日推荐