Linux(CentOS)下Nginx+Tomcat叢集+Redis共享Session搭建
阿新 • • 發佈:2019-02-16
Linux(CentOS7)下Nginx+Tomcat叢集+Redis共享Session搭建
版本:CentOS7+Nginx1.12.2+Tomcat7.085+Redis3.2.1+Java7
1. 下載安裝Nginx(直接解壓就行)
a) 安裝Nginx
b)修改conf/nginx.conf:
upstream tomcats { server 127.0.0.1:18080 weight=2 max_fails=3 fail_timeout=15; server 127.0.0.1:28080 weight=1; server 127.0.0.1:38080 weight=1; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_pass http://tomcats; }
2. 下載tomcat解壓複製幾份(看專案需求)
a) 修改tomcat(所有的tomcat)資料夾中conf/context.xml檔案,在context節點下新增如下配置:注意官方給的有誤,很多部落格也跟著傳,我也掉坑裡了。複製我的就好。如下:
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/> <Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60"/>
b)conf/server.xml檔案中的埠根據規劃依次修改。要改三個地方:
我的是在埠前都加了1,2,3等等
1. <Server port="18005"shutdown="SHUTDOWN">
2. <Connector port="18080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3 <Connector port="18009" protocol="AJP/1.3"redirectPort="8443" />
c)在tomcat的lib資料夾下分別新增6個jar檔案,這個地方jar檔案的版本有可能會有衝突,配置的時候需要多嘗試.
3. 安裝redis,並且啟動
4. 在三個tomcat的webapps/ROOT目錄下,修改index.jsp
<%@ pagelanguage="java" %>
<html>
<head><title>TomcatA</title></head>
<body>
<tablealign="centre" border="1">
<tr>
<td>Session ID</td>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
sessionID:<%=session.getId()%>
<br>
SessionIP:<%=request.getServerName()%>
<br>
SessionPort:<%=request.getServerPort()%>
<%
//為了區分,第二個可以是222
out.println("This is Tomcat Server 333333333333");
%>
測試結果: