配置集群Nginx+Memcached+Tomcat集群配置
上班之余抽點時間出來寫寫博文,希望對新接觸的朋友有幫助。今天在這里和大家一起學習一下配置集群
????
1.???Nginx
????Nginx是通過將多個Web Server綁定到同一個IP地址下,以實現多個WebServer間的負載均衡,下降單個Web Server的負荷,以進步團體的性能與穩定性。
????安裝和配置Nginx的簡略方法如下:
????1)??????下載并解壓Nginx到本地目錄:http://nginx.org/en/download.html
????2)??????對Nginx的配置主要是對它的配置文件/conf/nginx.conf的修改。如下鏈接是nginx.conf配置文件各個屬性的具體說明:
????http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html
????要利用nginx配置Web Server的負載均衡,須要修改的地方有:
????
????a)????????在http標簽下,配置upstream屬性,如:
????
upstream mysvr {#weigth參數表示權值,權值越高被分配到的概率越大server 192.168.8.1x:3128 weight=5;server 192.168.8.2x:80 weight=1;server 192.168.8.3x:80 weight=6; }????
????其中,weight是可選項;若不配置weight,則默許所有的Web Server擁有雷同的權重。
????b)????????在http標簽下的server標簽中,做恰當的修改,如:
????
server {listen 83;server_name localhost;location / {root /root;index index.jsp;proxy_pass http:// mysvr;proxy_set_header Host $host:83;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}…… }????
????其中須要說明的是,server_name和listen分別設置的是用戶拜訪的地址和端口;proxy_pass指定轉向的服務器列表(在upstream中定義);proxy_set_header Host設置跳轉的http報文中的地址為proxy_pass中指定的地址,同時可以在此處指定端口號,若不指定,則默許會跳到80端口。
????其它一些須要設置的屬性請拜見上述鏈接中的具體分析。
????
????3)??????配置完成后,在控制臺中進入Nginx的根目錄,運行nginx或nginx –s start則可啟動Nginx服務器,運行nginx –s stop或nginx –s quit可關閉Nginx(不可使用Ctrl+C強制結束)。
????
2.???Memcached
每日一道理試試看——不是像企鵝那樣靜靜的站在海邊,翹首企盼機會的來臨,而是如蒼鷹一般不停的翻飛盤旋,執著的尋求。 試試看——不是面對峰回路轉、雜草叢生的前途枉自嗟嘆,而是披荊斬棘,舉步探索。 試試看——不是拘泥于命運的禁錮,聽憑命運的擺布,而是奮力敲擊其神秘的門扉,使之洞開一個新的天地。微笑著,去唱生活的歌謠。
????Memcached是一個key-value映射的緩存系統。在WebApplication中可以利用Memcached完成一些頻繁拜訪對象的緩存。而在分布式的Web Server集群中,由于須要保證各個單獨的Web Server中的Session相一致,因此須要利用Memcached來支持。
????這里須要使用一個開源項目,即Memcached Session Manager(MSM),如下鏈接是該開源項目的官網:
????http://code.google.com/p/memcached-session-manager/
????如下鏈接是官方的安裝和配置向導:
????http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
????利用MSM對已經通過Nginx實現集群的Tomcat服務器組進行統一Session存儲管理的簡略方法如下:
????1)??????下載、安裝、運行Memcached:
????Linux版:http://memcached.org/
????Windows版:http://code.jellycan.com/memcached/
????2)??????下載所需的jar包并放置到Tomcat的lib路徑下:
????
????a)????????memcached-session-manager-${version}.jar,基礎包
????b)????????memcached-session-manager-tc6-${version}.jar(針對Tomcat 6)或者memcached-session-manager-tc7-${version}.jar(針對Tomcat 7),服務器支持包
????c)????????spymemcached-2.8.12.jar和couchbase-client-1.1.4.jar,緩存支持包
????d)????????msm-javolution-serializer.jar和javolution-5.4.3.1.jar,序列化支持包
????
????3)??????在Tomcat的/conf/context.xml文件中,在根標簽<context>下添加如下代碼:
<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="${tag}:localhost:11211"requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"sessionBackupAsync="false"sessionBackupTimeout="100"transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"copyCollectionsForSerialization="false"/>????其中${tag}可以替換成任意字符串,作為該WebServer的標記
????4)??????完成上述配置后,啟動Tomcat,若無錯誤則表示配置勝利。通過HttpSession的getId方法獲取到session id時,可以看到在id的最后有上述的標記
文章結束給大家分享下程序員的一些笑話語錄: AdobeFlash拖垮Windows拖垮IE!又拖垮Linux拖垮Ubuntu拖垮FirxEox!還拖垮BSD拖垮MacOS拖垮Safri!簡直無所不拖!AdobeFlash滾出網路世界!不要以為市占有率高就可以持續出爛貨產品!以后替代品多得是!
--------------------------------- 原創文章 By
配置和集群
---------------------------------
總結
以上是生活随笔為你收集整理的配置集群Nginx+Memcached+Tomcat集群配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: This Android SDK req
- 下一篇: “棱镜”折射出了什么