利用Nginx+tomcat實現memcached的資源接管

x性格如此發表於2020-11-03

nginx+tomcat
安裝並啟動tomcat工具

tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local
cd /usr/local
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/bin
./startup.sh

修改nginx配置檔案

vim /usr/local/nginx/conf/nginx.conf

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
重啟nginx服務

nginx -s reload

測試
在這裡插入圖片描述
編寫jsp釋出頁

#vim /usr/local/tomcat/webapps/ROOT/test.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session list</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
name:<input type=text size=20 name="dataName">
<br>
key:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>

安裝telntet工具

yum install telnet -y

測試
在這裡插入圖片描述
建立一個新的節點,實現資料轉存
在server2

yum install memcached -y
systemctl start memcached.service
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local
cd /usr/local
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/bin
./startup.sh
nginx -s start
scp root@server1:/usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf
nginx -s reload
scp root@server1:/usr/local/tomecat/webapps/ROOT/test.jsp /usr/local/tomecat/webapps/ROOT/test.jsp
vim /usr/local/tomecat/conf/context.xml

在這裡插入圖片描述
在server1

vim /usr/local/tomecat/conf/context.xml

在這裡插入圖片描述
在兩個節點上

/usr/local/tomcat/bin/./startup.sh

測試
在這裡插入圖片描述

檢視

# telnet localhost 11211
get 4A0DF3B132FADED919D3D6925CF41777-n1

在這裡插入圖片描述
關閉server1的memcached

systemctl stop memcached

再次測試
在這裡插入圖片描述
在server2檢視,資料沒有因為第一個節點的掛掉而丟失

# telnet localhost 11211
get 4A0DF3B132FADED919D3D6925CF41777-n2

在這裡插入圖片描述

相關文章