322ggg 发表于 2018-1-22 13:30:00

如何搭建memcached服务器


一、前期准备工作,准备两台服务器,一台做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
    把上面的地址改成memcached的地址,我这里用的IP是192.168.2.123(A)
5、验证:http://www.test.com/test.jsp
         得到的结果是:D3866D1BC10489BC58961E3732D63863-mem1      tomcatB
                           D3866D1BC10489BC58961E3732D63863-mem1      tomcatA
         可以看到,在上面的验证中,虽然服务器换了,但是其ID号是没变的

zhangxiajun 发表于 2018-2-2 08:49:56

给力

zhangxiajun 发表于 2018-2-5 09:13:01

给力

mx12306 发表于 2018-3-8 08:47:49

的点点滴滴多多多多多多多多多多多大多多多多多多多多多多多多多多多多多多多多多多多

zhangxiajun 发表于 2018-3-21 10:53:14

不错,学习了

zhangxiajun 发表于 2018-3-29 09:38:58

谢谢楼主
页: [1]
查看完整版本: 如何搭建memcached服务器