启动
./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;
./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;