背景回顾
公司的业务发展太快,搭建了一个网站本来一个tomcat能搞定的,现在不得不用两个tomcat,怎么办?要让两个tomcat能协同跑起来,需用到nginx技术。
怎么安装? 怎么配置?怎么用起来呢?
前面的文章解决了第一个问题,怎么安装,安装的步骤请参考文章《负载均衡服务器nginx详细安装教程及网络部署》,根据文章的教程安装,目前为止我能通过浏览器看到下面这个界面了:
还不坏,那么怎么继续呢?
来回顾下,我现在想要做的。
我现在有两个tomcat,里面部署的是一个访问量巨大的在线商城,两个tomcat部署的应用一模一样【一般情况下应该是用两台服务器每个服务器部署一个tomcat,但是穷,买不起两服务器,别见怪】
没看错,我现在有个非常火的在线商城,我现有要求通过一个192.168.1.52就能分流访问,如果其中一个tomcat挂了不影响。
加群523916260了解后续内容,里面有详细的配置文档哦,还有大牛坐镇~
修改nginx的配置文件
老板要求我达到的效果已经知道了,那么怎么办呢,我需要nginx能把上面的两个tomcat给融合起来。回到/usr/local/nginx/conf 目录,发现里面有个nginx.conf的配置文件。
打开它,对这玩意进行编辑.
先找到下面这堆玩意.
嗯,看不太懂,不过先不管,做了再说。
把上面那堆玩意修改修改,改成下面
upstreamtomcatserver {
server192.168.1.52:8080;
server192.168.1.52:9090;
}
server {
listen 80;
server_namelocalhost;
#charset koi8-r;
#access_loglogs/host.access.log main;
location / {
proxy_passhttp://tomcatserver;
index index.htmlindex.htm;
}
【虽然不重要,但还是解释下上面的注意点】
1.Upstreamtomcatserver 里面的tomcatserver 必须和下面的proxy_pass里面的http://tomcatsetver保持一致
2.Upstreamtomcatserver 制定的是你两个tomcat的位置,你要乐意,多增加几个tomcat都没问题
修改配置后重新加载下nginx
./nginx -s reload
测试效果
回到浏览器
欸,挺好,如今访问nginx就能访问到我的tomcat了,好了,我把一个tomcat停止下
我把192.168.1.52:8080的tomcat停止试试
继续访问nginx
完美,效果已经达到。
好了,我得承认这只是nginx的简单运用,而且还有很大问题,比如nginx的session一致性问题,更重要的是……
如果这个nginx挂了怎么办?好像我也必须让nginx高可用啊,一个nginx如果死机了,还有另外一个nginx能够顶替上来,而且不需要手工操作,更多内容欢迎加群交流学习。