nginx負載平衡_session共用研究

來源:互聯網
上載者:User

沒有搭建好nginx環境的同學,請參考我的上一篇部落格

nginx負載平衡初探

實驗環境

win7:tomcat6+jdk6+memcached

linux:vmware9+ubuntu+jdk6+nginx+tomcat6+memcached

首先在window是下安裝memcached

memcached-1.2.6-win32-bin.zip,64 位元下也可以

memcached.exe -d install 安裝為windows服務

memcached.exe -d start 設定服務為開機啟動

其次配置memcached的連接埠,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\memcached Server

ImagePath:"D:\java學習\nginx負載平衡配置\windows安裝包\memcached.exe" -p 12345 -m 128 -d runservice

其中12345是memcached的連接埠,在tomcat的conf/context..xml中需要用到

配置tomcat的conf/context..xml

linux、windows的tomcat的conf/context.xml配置方法一樣<?xml version='1.0' encoding='utf-8'?><Context>       <WatchedResource>WEB-INF/web.xml</WatchedResource>   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:192.168.0.108:12345 n2:192.168.110.130:12345"requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"sessionBackupAsync="false"sessionBackupTimeout="100"transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"copyCollectionsForSerialization="false" />   </Context>

在tomcat的lib下放入五個jar包

javolution-5.4.3.1.jar
memcached-2.6.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc6-1.5.1.jar
msm-javolution-serializer-1.5.1.jar

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

linux下安裝memcached

libevent-1.3.tar.gz

memcached-1.2.2.tar.gz

使用tar解壓~~

首先安裝libevent

進入/usr/local/memcache install files/libevent-1.3解壓後的libevent目錄

#可以在後面加入參數,安裝路徑.不加的話預設安裝到usr/local/lib

./configure 

#編譯

make

#安裝

make install

查看是否安裝成功

進入 ls usr/local/bin/lib/*.so,顯示如下則是安裝成功

zhengx@zhengx-virtual-machine:/$ ls usr/local/lib/*.sousr/local/lib/libevent.so

其次,在linux下安裝memcached

進入/usr/local/memcache install files/libevent-1.3/memcached-1.2.2。解壓後的memcached目錄

#–with-libevent=/usr/local/lib一定要加上去,否則安裝失敗!/usr/local/lib為libevent的安裝目錄

./configure –with-libevent=/usr/local/lib
 make
make install

如有不能建立目錄的error,執行sudo chmod 777 /usr/local -R

啟動memcached的方式

 /usr/local/bin/memcached -d -m 256 -u root -l 192.168.1.5 -p 12345 -c 256 -P /data/memcached/memcached.pid

配置linux的tomcat,和win7一樣

然後在瀏覽器中http://192.168.110.130/t/,session不會變了

伺服器IP: 192.168.0.108
會話Id: AAB11F62F8E5631B35BD92F5230AD4D5-n1
會話建立時間: Thu Jul 11 20:56:57 CST 2013
最後一次會話時間: Thu Jul 11 17:34:12 CST 2013
會話字串: org.apache.catalina.session.StandardSessionFacade@fe30af

再次重新整理,注意查看會話id(session_id)

伺服器IP: 192.168.110.130
會話Id: AAB11F62F8E5631B35BD92F5230AD4D5-n1
會話建立時間: Thu Jul 11 20:56:57 CST 2013
最後一次會話時間: Thu Jul 11 20:56:59 CST 2013
會話字串: org.apache.catalina.session.StandardSessionFacade@136e7f3

在tomcat1中session.setAttribute(key,value)。在tomcat2中session.getAttribute(key);測試

伺服器IP: 192.168.0.108
會話Id: 7BF5B9DFCB6F35A49BA9FA9EF3813434-n1
   
   
   
從會話中取value: 我是windows上的tomcat

注意伺服器的啟動順序:首先啟動nginx,其次啟動tomcat1和tomcat2

伺服器IP: 192.168.110.130
會話Id: 7BF5B9DFCB6F35A49BA9FA9EF3813434-n1
會話建立時間: Tue Jul 16 16:43:23 CST 2013
最後一次會話時間: Tue Jul 16 16:45:29 CST 2013
會話字串: org.apache.catalina.session.StandardSessionFacade@1162cdf
從會話中取value: 我是windows上的tomcat

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.