Nginx 配置集群策略

来源:互联网 发布:易语言数据统计分析 编辑:程序博客网 时间:2024/06/05 19:04
启动 
 ./nginx
 停止 sbin 目录下
 ./nginx -s stop
 重启
 ./nginx -s reload


location /  斜杠代表所有请求

proxy_pass  http://demotao.cn/ 设置代理。



服务器的集群
 1. 创建服务器组
upstream tomcats
{
2.指定服务器的路径,这里主要填写域名不要写协议
server demotao.cn;
server wxtestdemo.6655.la;
server 47.94.237.217:8080;
}
#代理服务器群
    proxy_pass  http://tomcats;
nginx: [emerg] "upstream" directive is not allowed here in /opt/nginx/conf/nginx.conf:14
 如果出现下面错误则说明upstream放错位置了,应该放在http模块里面但必须在server模块外面:


 集群策略
 1、轮询(默认) 
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
upstream backserver { 
server 192.168.0.14; 
server 192.168.0.15; 



2、指定权重 
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
upstream backserver { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 



3、IP绑定 ip_hash 
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
upstream backserver { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 



4、fair(第三方) 
按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
upstream backserver { 
server server1; 
server server2; 
fair; 



5、url_hash(第三方) 
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 
upstream backserver { 
server squid1:3128; 
server squid2:3128; 
hash $request_uri; 
hash_method crc32; 



url_hash(第三方) 需要插件 nginx upstream-fair-master.zip
下载完成后进行编译
./configure  --prefix=/opt/nginx/ --add-module=/opt/nginx/proxy_temp/nginx-upstream-fair-master
注意这里只要 make 编译不需要再进行安装,进行安装会将之前安装的覆盖掉
make 
objs 目录里的 nginx 是先编译的文件需要进行替换
./nginx -s stop
进行  cp nginx  /opt/nginx/sbin/  替换


 
 #weiht : 权重越大,值越高 被分配的次数越多
 server 47.94.237.217:8080 weiht=3;


 #backup :备份机 当前的服务器挂掉了,才会启动
 server 47.94.237.217:8080 backup;


 #dowm :停机标志。
 server 47.94.237.217:8080 down;


 #max_fails :达到指定次数认为服务器挂掉了
 #fail_tiemout :挂掉之后过多久再去测试是否已经恢复
server 47.94.237.217:8080 max_fails=2 fail_tiemout;