如何搭建memcached服務器

本實驗的目標是搭建memcached服務器,驗證測試網站客戶端如何

連接上memcached服務器,並用集羣來驗證session會話ID



一、前期準備工作,準備兩臺服務器,一臺做memcached服務器(A:4.123),

      一臺做網站服務器(B:4.124)

    1、在A上安裝軟件: yum -y install memcached.x86_64      telnet(遠程服務器測試用)

    2、在B上配置安裝LNMP環境


二、在服務器A上的操作

  1、配置配置文件:vim /etc/sysconfig/memcached 

     PORT="11211"                // 服務端口號

     USER="memcached"

     MAXCONN="1024"          //最大連接數

     CACHESIZE="64"          //存儲空間的大小

     OPTIONS=""                //可選參數配置

 2、啓動服務,設置開機自啓動:

    systemctl start memcached.service

    systemctl enable memcached.service

 3、連接,簡單的語句測試

     telnet    127.0.0.1    11211   //在shell下連接數據庫

    驗證是否能讀寫:

       set name 0 180 3 //新建name變量,不壓縮、存活180秒、3個字符長度

      123                     //輸入變量的內容

      STORED

      get name    //讀取name變量的值

      VALUE name 0 3

      123                      

      END

 4、memcached一些簡單的語句:

        add--新建(不覆蓋掉以前的內容)  set--新建 (會覆蓋掉以前的內容)

        append--追加(往已有的變量追加內容)     flush_all--清空所有的內容

       

三、在服務器B上的操作

   1、在B上安裝好nginx、php、mariadb

       詳細安裝參考我其它的實驗,在上面安裝軟件並配置好配置文件

      安裝:yum -y install php-pecl-memcache.x86_64,讓php文件可以連接memcached數據庫

      在php文件裏面填上A服務器的IP地址信息和端口號:mem.php文件

      <?php

            $memcache=new Memcache;

            $memcache->connect('192.168.4.123',11211) or die ('could not connect!! ');  //連接數據庫

            $memcache->set('key', 'test');                  //寫入數據

            $get_values=$memcache->get('key');      //讀取數據

            echo $get_values;                                  //在頁面上顯示

      ?>

  2、在服務器A上驗證:http://192.168.4.124/mem.php,出來"test"則是說明驗證成功


四、memcached中session會話

   1、準備兩臺服務器java+tomcat(2.100和2.200)  //可參考我其它的實驗

         準備一臺代理服務器,用nginx來做代理,我這裏用服務器A來做代理,

         在上面安裝nginx,並配置web集羣,用真機做客戶端來訪問。

   2、 sid     Session:用戶賬戶,密碼,訪問歷史等。

          cookie:存放id號 ,下次直接登陸,不需要輸入用戶名和密碼

  3、把測試頁面分別放在兩臺默認網站的根目錄下  :test.jsp,在客戶端測試,得到不同的id

      <html>

             <body bgcolor="red">

                  <center>

                     <%String s = session.getId();%>

                     <%=s%>

                    <h1>tomcatA </h1>

                  </center>

            </body>

      </html>

    2.100:     E8912319C717E184712FDF56F428176A        tomcatA 

    2.200:    9C842947128B1DDE593E5B30D425E2A6       tomcatB  

        從上面可以看到,得到不同的ID號,如何解決這問題呢,

        讓tomcat讀寫用戶信息都在memcached上

4、修改配置文件:vim /usr/local/tomcat/conf/context.xml,增加下面的配置

     <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

        memcachedNodes="mem1:192.168.2.123:11211"

        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

        transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"/>


    把上面的地址改成memcached的地址,我這裏用的IP是192.168.2.123(A)

5、驗證:http://www.test.com/test.jsp

    得到的結果是:

    D3866D1BC10489BC58961E3732D63863-mem1        tomcatB 

     D3866D1BC10489BC58961E3732D63863-mem1        tomcatA 

    可以看到,在上面的驗證中,雖然服務器換了,但是其ID號是沒變的










    
























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章