nginx+tomcat集群配置

来源:互联网 发布:网络电视直播哪个好 编辑:程序博客网 时间:2024/05/16 15:33

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也没问题。




 

0 0