win10 下nginx 配置tomcat集群
注意: nginx 的路径不能包含中文,否则会闪退,无法打开
一个程序的war包。
两个tomcat服务器,端口为8080和8090(修改方式略)
一个nginx代理服务器,端口为80
1:将war包放在两个tomcat的webapp目录下,启动tomcat
2:首先修改nginx配置文件conf文件夹下的nginx.conf
加入我们的tomcat两个服务器的地址,添加proxy_pass 为我们命名的server_tom.如下图所示
3:启动nginx ,在nginx.exe路径下。执行start .\nginx.exe 。如下所示
启动后 我们访问代理的资源,通过刷新可以看到会访问到两个服务器
以上基本方式操作完成。
提示:通过终端命令操作nginx
开启nginx start .\nginx.exe
修改配置文件更新用 .\nginx.exe -s reload
关闭nginx .\nginx.exe -s stop
配置文件中红框的weight表示权重,访问到的概率。
重要集群涉及到session共享问题,解决方法一般有三种
解决方式1:只能在window下好使
web服务器解决(广播机制)
注意:tomcat下性能低
修改两个地方:
1.修改tomcat的server.xml 支持共享
将 引擎标签下的
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注释去掉
2.修改项目的配置文件 web.xml中添加一个节点
解决方式2:
可以将session的id放入redis中
解决方式3:
保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux
在nginx的配置文件中
upstream中添加 ip_hash;(我截图中的ip_hash被注释掉了,需要去掉#号)
Nginx和tomcat压缩包下载