NGINX反向代理
NGINX反向代理
nginx反向代理可以用来实现web服务器的负载均衡,访问代理服务器可以轮询访问web服务器集群,达到负载均衡的效果,可以增加web服务器的并发量和降低单台服务器的负载。
一、NGINX反向代理服务器的搭建
1、安装nginx服务器
上一篇文章已经介绍如何安装nginx服务器,这里就不介绍了。
2、准备两台web服务器,可以使apache,或者nginx等web服务器
我这准备了两台apache的web服务器。
web1:192.168.45.128:80-------------网卡(192.168.45.128)
--------网卡1(网段192.168.45.130)--代理服务器--网卡2(公网或者另一个网段192.168.0.201)
web2: 192.168.45.129:80-------------网卡(192.168.45.129)
反向代理时,用户访问的是网卡2(这里是访问192.168.0.201)
3、修改配置文件/usr/local/nginx/conf/nginx.conf
这个配置必须添加在server{ }前面,http{ 里面
重新启动nginx或者重新加载nginx
#/usr/local/nginx/sbin/nginx -s stop 停止服务
#/usr/local/nginx/sbin/nginx start 启动服务
或者
#/usr/local/nginx/sbin/nginx -s reload 重新加载nginx配置文件,不需要重启服务。
4、验证nginx反向代理是否成功
在网页中访问代理服务器的web,如192.168.0.201。
第一次打开结果如下:
第二次访问结果如下:
可以看出,集群中的web服务器被轮询的访问,每刷新一次所访问的web服务器都不同,这样就可以达到负载均衡的作用。大大降低了单台服务器的负载压力。
还可以在配置文件中添加各种属性。
二、配置相关属性的NGINX反向代理
属性:
weight:权重 #指定集群中webserver的持续访问次数。如server 192.168.45.128:80 weight=3,那么在反向代理的时候,192.168.45.128这个web服务器会连续出现3次,之后再 访问的就是其他的web服务器了。
down:服务器不参与轮询,或者说是服务器挂了。
fail_outtime:失败时间 #当一台web服务访问失败,在这个时间内,代理服务器都会认为这台web服务器访问失败,不会将代理访问转发给这台服务器。
max_fails:失败次数 #档一台web服务器访问失败时,失败次数达到这个之后,代理服务器就会认为这台web服务器故障或者关机,他会等待超时时间之后再把转发发给这个web服务 器。
2.1、修改配置文件/usr/local/nginx/conf/nginx.conf
记得重启nginx
2.2、测试属性添加后的效果。
2.2.1、两台web正常情况下
权重生效,128重复出现2次,而129只出现1次。
2.2.2、web服务器128.nginx服务停止,模拟web服务器关机。
2.2.3、服务器4.128开机后的效果。