首先需要知道什么是Nginx,它能为我们做什么?
详情可阅读这篇博客,个人认为写的很清楚明了。什么是Nginx
这篇博客将记录在Linux下部署多个tomcat(其实就是两个)实现负载均衡。
1、Nginx安装配置
详情可查看此博客,安装过程无坑。Nginx安装、配置
2、Linux下部署至少两个tomcat
第一个正常安装配置,第二个可直接复制第一个的压缩包,解压,然后更改其conf文件夹下的server.xml文件
其中需要更改的部分如下:
修改8005连接端口
<Server port="8005" shutdown="SHUTDOWN">
修改8080访问端口号
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改8009AJP连接端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
使得tomcat2与tomca1的端口不一致即可.修改完毕后可到tomcat/bin下启动测试,这里为了方便测试我把tomcat首页做了修改,具体如下:
修改方法就是修改tomcat/webapp/ROOT/index.jsp下内容。
3、修改nginx.conf文件
在upstream [name]{...}中设置服务器集群地址
upstream mydata {
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=1;
}
添加请求转发规则,依然是在nginx.conf中配置
location / {
proxy_pass http://mydata;
proxy_redirect default;
}
server {
listen 80;
server_name localhost;
即通过proxy_pass 配置请求转发地址,访问nginx代理服务器时跳转到指定的服务器。当我们依然输入http://localhost:80 时,请求会跳转到我们配置的服务器。
还有一些其他的配置,详情可参考这个博客写的比较详细,此博客只为测试实现负载均衡。
4、测试
tomcat启动成功、Nginx启动成功后,如图访问我们的80端口,它会根据权重自动分配
结论:因为我们的权重设置都为1,所以概率应该为50%,但是我也不确定是不是会交替出现,本人测试电脑访问第一次会交替出现后续不变化(百度搜索一波好像时因为缓存问题,清楚浏览器缓存即可)本人手机也测试访问了多次,每次都是zks与zhoukaishun相互交替,若手机访问为zks,再用电脑访问,电脑为zhoukaishun。由此猜测应该为50%交替出现,若有大佬可以确定,欢迎留言指出。
博客写的略微草率,如有不懂的地方可参考下方的链接,我是根据这些博客实现的这个简单的demo,多搜索搜索问题总会解决掉的。
参考博客:
https://www.cnblogs.com/wcwnina/p/8728391.html
https://blog.csdn.net/qq_33591903/article/details/90715370