环境:
这里使用本地环境完成。
先新建两台centOs7虚拟机,一台装nginx作为反向代理服务器,不会安装的同学请看: 安装nginx(官网下载编译安装)_p&f°的博客-CSDN博客
另一台centOs7安装三个tomcat(当然如果你的电脑可以的话可以开三个centOs7分别装tomcat,也更符合实际生产环境),安装教程在一台centOs7里布置多个tomcat_p&f°的博客-CSDN博客
步骤:
1、为完全模拟真实环境,这里配置一下域名。
在本地windows的hosts文件下配置nginx服务器的ip域名。我这里的nginx的ip地址为192.168.217.129,因此配置内容如下,域名随便写
192.168.217.129 www.xpf.com
2、在nginx服务器的配置nginx.conf文件中,找一处空地,我这里写在注释 #gzip on; 之后,写入如下内容
#配置上游服务器
#这里的xpff命名随意。
#server 中写的是三台tomcat的访问地址
upstream xpff{
server 192.168.217.130:8081;
server 192.168.217.130:8082;
server 192.168.217.130:8083;
}
#sercer_name 即第1步中配置的域名
#proxy_pass 对应上述xpff你的命名
server{
listen 80;
server_name www.xpf.com;
location / {
proxy_pass http://xpff;
}
}
3、重启nginx。 ./nginx -s reload
4、访问你自己设置的域名:www.xpf.com。其实也就是访问nginx反向代理服务器。完毕。
nginx会依次轮询访问不同的tomcat,如图所示。
题外扩展:负载均衡之轮询与权重
1、像上述一样,没有设置权重时,负载均衡默认使用轮询机制访问三台tomcat服务器。刷新页面,tomcat1、tomcat2、tomcat3依次被访问,不断循环。
2、修改权重。不同服务器硬件有高有低,因此可以将配置高的服务器权重设置的高一些,使得其被访问的几率更高,充分发挥集群的性能。
修改nginx.conf配置文件,加入权重值
#配置上游服务器
upstream xpff{
server 192.168.217.130:8081 weight=1;
server 192.168.217.130:8082 weight=2;
server 192.168.217.130:8083 weight=5;
}
继续刷新访问页面,由于tomcat3权重高,被访问到的几率也是最高的。