nginx+Tomcat7+Redis实现session共享
1.nginx搭建
1.1下载
官网下载(http://nginx.org/en/download.html)
1.2将文件上传到Linux系统
先解压缩
tar -zxvf nginx-1.14.0.tar.gz
然后安装环境
yum -y install gcc-c++ && yum -y install pcre pcre-devel && yum -y install zlib zlib-devel && yum -y install openssl openssl-devel
安装nginx
cd /home/nginx-1.14.0
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
mkdir /var/temp/nginx/client -p
make && make install
在nginx-1.14.0目录下创建Tomcat文件夹
在Tomcat文件夹下放入多个Tomcat服务器,修改其中的server.xml内容
vi server.xml
修改下面3个部分
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="18081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxHttpHeaderSize="102400" maxPostSize="410000" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
修改port的值,保证端口号不被占用
:wq
修改nginx-1.14.0/conf里面的nginx.conf
vi nginx.conf
在#gzip on 后面加上
upstream local_tomcat {
server 192.168.3.32:18081 weight=1;
server 192.168.3.32:18082 weight=2;
}
server下面的location修改为
location / {
proxy_pass http://local_tomcat;
}
1.3启动nginx
然后分别开启Tomcat和nginx
nginx开启方式如下
cd /usr/local/nginx/spin
./nginx
修改配置文件后须执行
./nginx -s reload
1.4验证nginx
修改其中某一个Tomcat的主页
添加区分
地址栏输入192.168.3.32,多次刷新后如果以下两种页面均出现过,说明nginx配置成功
- Redis配置
2.1下载
官网下载(https://redis.io/download)
2.2 将文件上传到Linux系统
先解压缩
tar -zxvf redis-3.2.12.tar.gz
前往目录
cd redis-3.2.12
安装
make
修改Tomcat的context.xml 添加以下两句
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="192.168.3.32" port="6379" database="0" maxInactiveInterval="60" />
其中host 为ip地址 ,port为Redis端口号
在Tomcat的lib下添加以下几个包
下载链接(https://pan.baidu.com/s/103GnyhO_Cic9biE0iGFFQw)
2.3启动Redis
运行Redis
./redis-server
查看Redis是否启动
ps -ef|grep redis
- 验证是否成功
给两个Tomcat上传jeesite-ui项目(项目应当使用Redis缓存)
修改两个项目的启动页和首页以作为区分
输入nginx网址(http://192.168.3.32/jeesite-ui/a/login)
多次刷新后应当两种登陆页面均出现
登录账号后,多次刷新页面,如果两种页面均出现,说明session是共享的,即配置成功
PS:历经1个半星期,总算把这个配置好了,原先是计划用Redis的,因为服务器有1Redis,框架也支持Redis,但是说用memcached,配置好后不能用,终于又改回Redis了