tomcat集群配置
修改tomcat安装目录下的server.xml文件:
1.修改port
<Connector connectionTimeout="20000" port="8088" protocol="HTTP/1.1" redirectPort="8443"/>
2.修改port
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443"/>
此处,protocol=“AJP/1.3”是tomcat与nginx通信的协议
3.添加jvmRoute
<Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcat1">
这里jvmRoute=“tomcat1”是指该tomcat的路由名称为tomcat1。用于支持负载均衡
4.打开Engine标签里的Cluster标签:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注:各个tomcat里的server.xml修改的端口号不一样即可。上述第一项与第二项的端口号也是不一样的。
然后,当测试所有的tomcat成功启动,就表示tomcat集群配置完成。
这里,我遇到一个问题,是我的两个tomcat不能同时启动的问题,解决方法如下:
<Server port="8005" shutdown="SHUTDOWN">
修改port即可,注意各个tomcat这里的端口号也不能雷同。
nginx配置
打开nginx.conf,在http元素下添加如下内容:
upstream tomcat-servers{
ip_hash;
server 127.0.0.1:8081;
server 127.0.0.1:8088;
}
接着,在server元素下添加:
location / {
proxy_pass http://tomcat-servers;
proxy_redirect off;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
proxy_pass设置请求转向tomcat-servers定义的服务器列表
项目配置
在web.xml文件中添加:
<distributable/>
最后,启动所有的tomcat以及nginx服务器,因为HTTP服务器默认端口为80,所以访问:http://localhost就会出现tomcat的欢迎界面,关闭其中一个tomcat也没问题。