Linux下使用Nginx实现负载均衡

首先需要知道什么是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

https://juejin.im/post/5c987a62f265da60f5611c9f

https://juejin.im/post/5c99d417e51d4579e354853f

发布了20 篇原创文章 · 获赞 58 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/zks_4826/article/details/97019541