搭建Nginx + Memcached + Tomcat 集群記錄
一:環境
Nginx
Memcached(memcached-1.2.6-win32-bin)
Tomcat7
二:Memcached配置
1、 Memcached的安裝
將安裝包memcached-1.2.6-win32-bin解壓到X:/目錄下面,重命名為memcached。
打開命令提示符,進入X: /memcached的目錄,輸入安裝命令“memcached.exe –d install”,安裝memcached的windows服務,
然后輸入“memcached -d start”,以后memcached將作為windows的一個服務每次開機時自動啟動。
默認端口:11211。
下面插入介紹一些memcached的常用命名,也是最基本的命令,
(1) 查看memcached的服務是否已經啟動:tasklist /fi "imagename eq memcached.exe"
(2) memcached參數使用介紹
-p 監聽的端口
-l 連接的IP地址, 默認是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root運行的時候有效)
-m 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c 最大同時連接數,默認是1024
-f 塊大小增長因子,默認是1.25
-n 最小分配空間,key+value+flags默認是48
-h 顯示幫助
例如:C:\memcached\memcached.exe -h
三:tomcat配置
1.添加tomcat
解壓并復制Tomcat,分別為apache-tomcat-7.0.55-01和apache-tomcat-7.0.55-02
2.添加.所需jar包
如下列表:
memcached-session-manager-1.6.1,
memcached-session-manager-tc7-1.6.1(因為Tomcat版本為7.0)
javolution-5.4.3.1,
msm-javolution-serializer-1.6.1(準備使用javolution序列化方式)
spymemcached-2.7.3(依賴包)
添加以上jar到tomcat lib中
2.Tomcat的配置安裝
修改server.xml文件,同時添加HTTPS支持和Tomcat雙開的配置
修改文件Tomcat/conf/context.xml,在Context標簽中加入如下代碼:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:localhost:11211" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false"/>
3.啟動Tomcat的測試
四:Nginx的安裝和配置
1、Nginx的安裝
將安裝包nginx-1.3.0.zip解壓到X:/目錄
啟動Nginx:進入X:/nginx目錄,執行命令:start nginx.exe,彈出屏會一閃而逝。
接著輸入tasklist /fi "imagename eq nginx.exe",出現如下內容,表示nginx已正常啟動啦!
在瀏覽器輸入http://localhost,可以看到Nginx的歡迎頁。
更多Nginx常用命令:
停止Nginx:nginx.exe -s stop|quit
重啟Nginx:nginx.exe -s reload
查看Nginx版本:nginx.exe -v
修改文件$NGINX_HOME/conf/nginx.conf。
#設定負載均衡的服務器列表
upstream tomcat_server{
server localhost:18080 weight=1;#第一臺機器
server localhost:28080 weight=1;#第二臺機器
}server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server;
}
} 以上部分是需要在nginx.conf中的http {}
proxy_pass表示代理主機
upstream tomcat_server{……}配置中配置了代理主機處理請求的兩個服務。
上述配置表示:Nginx監聽到http://locahost:8080的請求之后,轉發到代理tomcat_server中的兩個服務中的一個,有它們來處理請求。weight表示被分配到權重,weight值越大,處理請求的機會越多。
至此,Nginx的安裝與配置結束。
五:測試
測試代碼放入tomcat1,2下test/index.jsp中,啟動各個服務
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>
SessionID:<%=session.getId()%>
<BR>
SessionIP:<%=request.getServerName()%>
<BR>
SessionPort:<%=request.getServerPort()%>
<%
out.println("apache-tomcat-7.0.55-02");
%>
<%=(String)session.getAttribute("user")%>
</body>
</html> 結果
來自:http://my.oschina.net/huangcongcong/blog/520576