tomcat8用redis实现session共享及Nginx配置Tomcat
注:${catalina.base} 表示 tomcat根目录
1、将 redisson.conf 拷贝到 ${catalina.base},修改redis配置(url、密码)
2、将redisson.yaml 拷贝到 ${catalina.base}config,修改redis配置(url、密码)
3、将redisson-all-3.11.2.jar和redisson-tomcat-8-3.11.2.jar 拷贝到${catalina.base}lib下
4、在原有tomcatcontext.xml下 添加 以下代码
<Manager className="org.redisson.tomcat.RedissonSessionManager" configPath="${catalina.base}/redisson.conf" readMode="REDIS" updateMode="DEFAULT" broadcastSessionEvents="false"/> <ResourceLink name="bean/redisson" global="bean/redisson" type="org.redisson.api.RedissonClient" /> <Manager className="org.redisson.tomcat.JndiRedissonSessionManager" readMode="REDIS" jndiName="bean/redisson" />
5、在原有tomcatconfigserver.xml 添加以下代码(参考) 注:UserDatabase 为原有存在的.
<GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> <Resource name="bean/redisson" auth="Container" factory="org.redisson.JndiRedissonFactory" configPath="${catalina.base}/conf/redisson.yaml" closeMethod="shutdown"/> </GlobalNamingResources>
二、Tomcat 配置 Nginx
1、修改tomcat的server.xml文件 两处如下:(proxyPort为Nginx配置文件设置,需要访问的端口
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" proxyPort="6001"/> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="6001" />
三、Nginx配置总结
1、Nginx配置文件 nginx.conf
#服务器集群,可以增加多个 upstream tomcat1 { server 127.0.0.1:8090; server 127.0.0.1:8070; } server { listen 6001; server_name 127.0.0.1; #这个是匹配你访问的某个项目 location /app/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_connect_timeout 240; proxy_send_timeout 240; proxy_read_timeout 240; # note, there is not SSL here! plain HTTP is used proxy_pass http://tomcat1/; #修改配置,与上面tomcat1一致;绝对路径,则访问的时候,不会包括到 app,直接用目标的处理 } #如果目标资源中 存在绝对路径的静态资源或请求资源 如:a="/abc.jpg",则需要单独映射,不然 会导致404 访问不到资源(代理服务器本来就没有) location /manager/{ proxy_pass http://tomcat1/manager/; } location /host-manager/{ proxy_pass http://tomcat1/host-manager/; } }
四、windows下nginx和redis及tomcat8安装(包括了集成)下载
tomcat8集成redis实现session共享 资源下载地址:
上一篇:
IDEA上Java项目控制台中文乱码