修改tomcat配置
修改一:
修改<Server port="8001" shutdown="SHUTDOWN">中的port值(自定义未被占用端口即可)
修改二:
修改<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />中的port值(自定义未被占用的端口)
修改三:
修改<Connector port="20001" protocol="AJP/1.3" redirectPort="8443" />中的port值(自定义未被占用的端口即可)
修改四:
取消<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">注释,同时添加jvmRooute属性并设值(该值可自定义)
修改五
取消<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>注释(否则session复制失败>
项目中wex.xml加入<distributable/>标签,用于可分配。
页面加入端口、session信息显示
Server Info:
<%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+<br>")
out.println("<br> sessionID " + session.getId()+"<br>");
%>
此时打开把项目部署到tomcat运行,三个tomcat的session已经能同步复制。
配置apache,修改httpd.conf,去掉如下注释
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
Include conf/extra/httpd-vhosts.conf
修改变量Define SRVROOT "/Apache24" 为安装路径
在尾部加上
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember ajp://localhost:20001/ loadfactor=1 route=tomcat1
BalancerMember ajp://localhost:20002/ loadfactor=1 route=tomcat2
BalancerMember ajp://localhost:20003/ loadfactor=1 route=tomcat3
</Proxy>
修改端口81
修改/conf/extra/httpd-vhosts.conf最后加上
<VirtualHost *:81>
ServerName 127.0.0.1
ServerAlias localhost
ProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://mycluster/
ErrorLog "logs/lbtest-error.log"
CustomLog "logs/lbtest-access.log" common
</VirtualHost>
进入apache安装路径/bin后httpd -k install -n "server name"如http -k install -n "apacheserver"安装服务
启动apache访问localhost:81/项目名即可
tomcat修改项目发布的访问路径
在server.xml里的<HOST>标签中加
<Context path="/hospital" docBase="../webapps/hospital-0.0.1-SNAPSHOT" reloadable="true" />
path填访问路径;docBase填项目相对路径,填错则tomcat启动异常。