有图有真相。windows环境下配置tomat+redis+nginx集群共享session
一直想搞一下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。