Nginx配置

1、nginx实现负载均衡和任务转发

通过在upstream参数中添加的应用服务器IP后添加指定参数即可实现,如:

http{
    #开启gzip
    gzip  on;  
    #低于1kb的资源不压缩 
    gzip_min_length 1k;
    #压缩级别1-9,越大压缩率越高,同时消耗cpu资源也越多,建议设置在5左右。 
    gzip_comp_level 5; 
    #需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片.
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;  
    #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip_disable "MSIE [1-6]\.";  
    #是否添加“Vary: Accept-Encoding”响应头
    gzip_vary on;
    #配置跨域
    add_header Access-Control-Allow-Origin *;
    #add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
	upstream myserver{  
	    server 192.168.60.49:8080 weight=3;  
	    server 192.168.60.49:8081;  
	    }   
 
	 server {  
	        listen       8000;  
	        server_name  localhost;  
	        #charset koi8-r;  
	        #access_log  logs/host.access.log  main;  
	        location / {  
	            proxy_pass   http://myserver;  
	            index  index.html index.htm;  
	        }  
	     } 
     }

通过以上配置,便可以实现,在访问localhost这个网站时,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为
tomcatsever1的地址,读取分发策略,配置tomcat1权重为3,所以nginx会将大部分请求发送给49服务器上的tomcat1,也就是8080端口;较少部分给tomcat2来实现有条件的负载均衡,当然这个条件就是服务器1、2的硬件指数处理请求能力。

2、nginx其他配置说明

upstream myServer {    
    server 192.168.60.49:9090 down;   
    server 192.168.60.49:8080 weight=2;   
    server 192.168.60.49:6060;   
    server 192.168.60.49:7070 backup;   
}  

1)down
表示单前的server暂时不参与负载
2)Weight
默认为1.weight越大,负载的权重就越大。
3)max_fails
允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4)fail_timeout
max_fails 次失败后,暂停的时间。
5)Backup
其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

3、内置的负载均衡策略

轮循(默认)
Nginx根据请求次数,将每个请求均匀分配到每台服务器
最少连接
将请求分配给连接数最少的服务器。Nginx会统计哪些服务器的连接数最少。
IP Hash
绑定处理请求的服务器。第一次请求时,根据该客户端的IP算出一个HASH值,将请求分配到集群中的某一台服务器上。后面该客户端的所有请求,都将通过HASH算法,找到之前处理这台客户端请求的服务器,然后将请求交给它来处理。

你可能感兴趣的:(nginx,nginx,服务器,运维)