一直想搞一下tomcat集群配置,今天终于测试通过。把配置记录一下,希望对大家有帮助。
一、基本环境
1、window7 64位,4C/4G
2、apache-tomcat-7.0.33 (tomcat6应该也可以,没亲自测试,建议用该版本)
3、redis2.6.12
4、nginx 1.6.0
5、jdk 1.7 (这个很重要,否则无法启动,tomcat启动会报v51错误)
二、配置过程
先说说大致思路:nginx替代f5,解决负载均衡问题;两个tomcat做应用服务器;redis解决tomcat之间session共享问题。实现很简单:
1、redis安装:这个是傻瓜式的,windows环境下运行redis-server.exe,见图。
2、两个tomcat配置。一个配置端口为9000,另一个配置端口9100。这里需要做3件事。
1)修改tomcat端口,把8080修改为9000(建议把shutdown端口也修改),具体怎么改,附件里有tomcat9000的server.xml
2)修改conf/context.xml, 增加session共享配置。附件里也有。
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> <Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="127.0.0.1" port="6379" database="0" maxInactiveInterval="60"/>
3)把redis共享session的依赖包放到tomcat/lib下,需要的包在附件也有。
再按以上方式配置一个9100端口的tomcat即可。
3、nginx配置。需要干一件事,修改nginx.conf文件。文件直接贴出来。这个配置直接把80修改为8080了。
#user nobody; worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #gzip on; upstream localhost { server 127.0.0.1:9000; server 127.0.0.1:9100; } server { listen 8080; server_name localhost; charset utf-8; location / { root html; index index.html index.htm; proxy_pass http://localhost; proxy_set_header Host $host:$server_port; client_max_body_size 100m; } location ~ ^/(WEB-INF)/ { deny all; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
4、依次运行:redis、tomcat、nginx即可。访问http://localhost:8080/xxx, 即可看到两个tomcat后台都有日志输出。
搞定。有需要的加微信: jingleitech。