軟件及環(huán)境是:
虛擬機(jī)上裝centos 5.5
IP為:192.168.0.51 裝上nginx和tomcat 6.0.32 命名為 Tomcat1
一臺(tái)win7上裝tomcat 6.0.32 IP為:192.168.0.50 命名為 Tomcat2
首先裝nginx,我是參照http://blog.s135.com/nginx_php_v6/ 配了一個(gè)Nginx + PHP(FastCGI)環(huán)境,然后再加上Tomcat的轉(zhuǎn)發(fā)。
我的nginx.conf 修改如下

































































































































































下一步是配置Tomcat集群。分別打開(kāi)tomcat1和tomcat2下conf中server.xml
< Server port="8005" shutdown="SHUTDOWN">
< !-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
< Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
< !-- Define an AJP 1.3 Connector on port 8009 -->
< Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
找到<Engine name="Catalina" defaultHost="localhost">
Tomcat1下的修改為<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
Tomcat2下的修改為<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
tomcat1找到
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改為




































tomcat2找到
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改為




































還需要在程序的web.xml里面</web-app>前面加入以下這句話(huà)
<distributable/>
session同步到這里設(shè)置完畢
服務(wù)器的啟動(dòng)順序如下:
tomcat1 --> |tomcat2 --> |nginx
先啟動(dòng)tocmat1,等tomcat1啟動(dòng)完全的時(shí)候再啟動(dòng)tomcat2,等兩個(gè)tocmat全啟動(dòng)之后,再啟動(dòng)nginx
負(fù)載的時(shí)候可以用APACHE或NGINX,如果什么都不用,兩臺(tái)一接防問(wèn)了話(huà),可能會(huì)出錯(cuò)極session不同步的問(wèn)題,網(wǎng)上也很多人介意不要做seeeion同步,這樣會(huì)降低機(jī)器的性能,有一個(gè)方法可以,就是NGINX的ip_hash,這樣至少可以保證客戶(hù)端去防問(wèn)同一臺(tái)TOCMAT,除非那臺(tái)TOCMAT掛了