nginx 80 /etc/nginx
tomcat01-1 8001 8081 /opt/tomcat01-1
tomcat01-2 9001 9091 /opt/tomcat01-1
redis 6379
1.安装nginx、tomcat7、JDK7、redis
详见:
redis
tomcat单机多实例
设置redis密码和绑定地址
# vim /etc/redis.conf
requirepass 123456
bind 127.0.0.1
2.修改nginx配置文件
# vim /etc/nginx/nginx.conf
user nginx;
worker_processes 2;
error_log /data/logs/nginx/error.log error;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
server_tokens off;
autoindex off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 65;
gzip on;
#负载均衡
upstream web {
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:9091 weight=1 max_fails=2 fail_timeout=30s;
}
include /etc/nginx/conf.d/*.conf;
}
# vim /etc/nginx/conf.d/web.conf
3.修改$TOMCAT_HOME/conf/context.xml文件server {
listen 80;
server_name www.test.com;
location / {
index index.html index.jsp;
proxy_pass http://web;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# vim /opt/tomcat01-1/conf/context.xml
添加
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="127.0.0.1" <!-- Redis地址 -->
port="6379" <!-- Redis端口 -->
password="123456" <!-- Redis密码 -->
database="1" <!-- 存储会话的Redis库 -->
maxInactiveInterval="60" <!-- 会话失效的间隔(秒) -->
/>
# cp /opt/tomcat01-1/conf/context.xml /opt/tomcat01-2/conf/
4.添加对应的jar包到$TOMCAT_HOME/lib
# ll
commons-pool-1.6.jar包链接
jedis-2.2.0.jar
tomcat-redis-session-manager-1.2-tomcat-7.jar
# cp ./* /opt/tomcat01-1/lib/
# cp ./* /opt/tomcat01-2/lib/
5.添加redis测试页面到$TOMCAT_HOME/webapps/ROOT/
# vim /opt/tomcat01-1/webapps/ROOT/redis.jsp
<%@ page language="java" %>
<html>
<head><title>API-1</title></head>
<body>
<h1><font color="green">Tomcat01-1</font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("tomcat.suzf.net","tomcat.suzf.net"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
# vim /opt/tomcat01-2/webapps/ROOT/redis.jsp
<%@ page language="java" %>
<html>
<head><title>API-2</title></head>
<body>
<h1><font color="green">Tomcat01-2</font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("tomcat.suzf.net","tomcat.suzf.net"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
6.分别启动nginx、redis、tomcat01-1、tomcat01-2
# /etc/init.d/nginx restart
# redis-server /etc/resolv.conf
# /opt/tomcat01-1/bin/startup.sh
# /opt/tomcat01-2/bin/startup.sh
7.验证
访问http://www.test.com/redis.jsp 查看前后两次访问到的Session ID 和Created on 是否一致
我来说说