Nginx反向代理
环境准备
使用4台虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.6和192.168.2.6,两台Web服务器IP地址分别为192.168.2.10和192.168.2.20。客户端测试主机IP地址为192.168.4.7。
一、部署实施后端Web服务器
[root@web1 ~]# yum -y install httpd
[root@web1 ~]#echo 192.168.2.10 > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd.service
[root@web1 ~]# curl 192.168.2.10
192.168.2.10
web2执行一样的操作
二、配置Nginx服务器,添加服务器池,实现反向代理功能
1.启动nginx
[root@proxy ~]# /usr/local/nginx/sbin/nginx
2.修改配置文件
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
在第一个server{…}上面敲
upstream webserver {
server 192.168.2.10:80;
server 192.168.2.20:80;
}
在第一个server{…}里面的location /{…}敲
proxy_pass http://webserver;
重新加载一下配置文件
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
3.测试
[root@client ~]# curl 192.168.4.6
192.168.2.10
[root@client ~]# curl 192.168.4.6
192.168.2.20
[root@client ~]# curl 192.168.4.6
192.168.2.10
[root@client ~]# curl 192.168.4.6
192.168.2.20
三、配置upstream服务器集群池属性
1.测试设置失败次数,超时时间,权重
weight可以设置后台服务器的权重,max_fails可以设置后台服务器的失败次数,fail_timeout可以设置后台服务器的失败超时时间。
upstream webserver {
server 192.168.2.10 weight=1 max_fails=1 fail_timeout=30;
server 192.168.2.20 weight=2 max_fails=2 fail_timeout=30;
server 192.168.2.101 down;
}
#weight设置服务器权重值,默认值为1
#max_fails设置最大失败次数,测试服务器几次才确认服务器失败
#fail_timeout设置失败超时时间,单位为秒
#down标记服务器已关机,不参与集群调度