设为首页 收藏本站
查看: 778|回复: 0

[经验分享] 构建memcached服务&使用Tomcat设置Session

[复制链接]

尚未签到

发表于 2018-12-2 10:21:10 | 显示全部楼层 |阅读模式
  案例1:构建memcached服务
本案例要求先快速搭建好一台memcached服务器,并对memcached进行简单的添、删、改、查操作:
安装memcached软件,并启动服务
使用telnet测试memcached服务
对memcached进行增、删、改、查等操作
步骤一:构建memcached服务
1)使用yum安装软件包memcached
[root@svr5 ~]# yum -y  install   memcached
[root@svr5 ~]# rpm -qa memcached
memcached-1.4.15-9.el7.x86_64
2)启动服务并查看网络连接状态验证是否开启成功:
[root@svr5 ~]# systemctl  start  memcached
[root@svr5 ~]# systemctl  status  memcached
[root@svr5 ~]# netstat  -anptu  |  grep memcached
步骤二:使用telnet访问memcached服务器
1)使用yum安装telnet
[root@svr5 ~]# yum –y install telnet
2)使用telnet连接服务器测试memcached服务器功能,包括增、删、改、查等操作。
[root@svr5 ~]# telnet  127.0.0.1  11211
set name 0 180 3                //定义变量,变量名称为name,0表示不压缩,180表示缓存时间,3表示占用3字节空间
plj                            //输入变量的值,值为plj               
STORED
get name                        //获取变量的值
VALUE name 0 3                 //输出结果
plj
END
add myname 0 180 10            //新建,myname不存在则添加,存在则报错
set myname 0 180 10            //添加或替换变量
replace myname 0 180 2        //替换,如果myname不存在则报错(可改后面参数)
get myname                    //读取变量
append myname 0 180 10        //向变量中追加数据
delete myname                    //删除变量
stats                        //查看状态
flush_all                        //清空所有
quit                            //退出登录
######################################################
date -d '@1513046563' 时间戳
  案例2:LNMP+memcached
沿用练习一,部署LNMP+memcached网站平台,通过PHP页面实现对memcached服务器的数据操作,实现以下目标:
部署LNMP实现PHP动态网站架构
为PHP安装memcache扩展
创建PHP页面,并编写PHP代码,实现对memcached的数据操作
步骤一:部署LNMP环境
  1)使用yum安装基础依赖包
[root@svr5 ~]# yum -y install gcc openssl-devel pcre-devel zlib-devel
2)源码安装Nginx
从真机#scp nginx-1.8.0.tar.gz memcached服务器IP:/root
[root@svr5 ~]# useradd -s /sbin/nologin  www
[root@svr5 ~]# tar -zxvf nginx-1.8.0.tar.gz
[root@svr5 ~]# cd nginx-1.8.0
[root@svr5 nginx-1.8.0]#  ./configure   \
  --user=www   --group=www \
--with-http_ssl_module
[root@svr5 ~]# make && make install
3)安装MariaDB数据库
[root@svr5 ~]# yum –y install  mariadb  mariadb-server  mariadb-devel
4)安装PHP
[root@svr5 ~]# yum –y install  php  php-mysql
[root@svr5 ~]# yum –y localinstall  php-fpm-5.4.16-36.el7_1.x86_64.rpm
5)为PHP添加memcache扩展
[root@svr5 ~]# yum –y install  php-pecl-memcache
6)修改Nginx配置文件
[root@svr5 ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root   html;
index  index.php  index.html   index.htm;
}
location  ~  .php$  {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi.conf;
}   
取消注释符号,修改最后一行即可。
  步骤二:启动服务
  1)启动Nginx服务
这里需要注意的是,如果服务器上已经启动了其他监听80端口的服务软件(如httpd),则需要先关闭该服务,否则会出现冲突。
[root@svr5 ~]# systemctl stop  httpd                //如果该服务存在,则关闭该服务
[root@svr5 ~]# /usr/local/nginx/sbin/nginx
  2)启动MySQL服务
[root@svr5 ~]# systemctl start mariadb
[root@svr5 ~]# systemctl status mariadb
3)启动PHP-FPM服务
[root@svr5 ~]# systemctl start php-fpm
[root@svr5 ~]# systemctl status php-fpm
  步骤三:创建PHP页面,使用PHP语言测试memcached服务
  创建PHP首页文档/usr/local/nginx/html/index.php:
[root@svr5 ~]# vim /usr/local/nginx/html/test.php

步骤四:客户端测试
  客户端使用浏览器访问服务器PHP首页文档,检验对memcached的操作是否成功:
[root@client ~]# firefox http://192.168.4.5/test.php
  #可能错误。主机名错误,端口错误,防火墙,selinux阻止
  #############################################################
  3 案例3:使用Tomcat设置Session
使用4台RHEL7虚拟机,其中一台作为Nginx前端调度器服务器(eth0:192.168.4.5,eth1:172.16.2.5)、两台虚拟机部署为Tomcat服务器,分别为Web1服务器(192.168.2.100)和Web2服务器(192.168.2.200),另外一台作为测试用的Linux客户机(172.16.4.100)
步骤一:部署前端Nginx调度服务器
  1)使用源码安装nginx软件
[root@svr5 ~]# yum  -y  install   pcre-devel openssl-devel
[root@svr5 ~]# tar -zxvf nginx-1.8.0.tar.gz
[root@svr5 ~]# cd nginx-1.8.0
[root@svr5 nginx-1.8.0]# ./configure
[root@svr5 nginx-1.8.0]# make && make install
2)修改Nginx配置文件
Nginx配置文件中,通过upstream定义后端服务器地址池,默认调度策略为轮询,使用proxy_pass调用upstream定义的服务器地址池:
[root@svr5 ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
upstream tomcatgrp  {
server 192.168.2.100:8080;
server 192.168.2.200:8080;
}
server  {
listen       80;
server_name  localhost;
location  /  {
proxy_pass http://tomcatgrp;
root   html;
index  index.html index.htm;
}
}
3)启动Nginx服务
  [root@svr5 ~]# /usr/local/nginx/sbin/nginx
步骤二:部署Tomcat
  注意:以下部署Tomcat的操作,需要在两台后端服务器做相同的操作,下面我们以一台Web1服务器(192.168.2.100)为例,对Web2服务器执行相同操作即可。
1)安装jdk环境
[root@svr100 ~]# yum –y install java-1.8.0-openjdk
2)安装tomcat软件
[root@svr100 ~]# tar -zxvf apache-tomcat-8.0.30.tar.gz
[root@svr100 ~]# mv apache-tomcat-8.0.30   /usr/local/tomcat
3)启动tomcat服务,并查看端口信息
[root@svr100 ~]# /usr/local/tomcat/bin/startup.sh         //启动tomcat
[root@svr100 ~]# netstat -utnalp | grep :8080
tcp    0    0 :::8080        :::*        LISTEN        3181/java
4)创建JSP测试页面,要求页面可以显示Session ID信息
通过在页面代码中添加JSP语句即可:
[root@svr100 ~]# ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp

                                //指定网页背景颜色

      //获取SessionID

tomcatA            //固定字串信息,Web2的信息应该为tomcatB



步骤三:客户端访问测试效果
  1)客户端使用浏览器访问测试页面
[root@pc01 ~]# firefox http://192.168.4.5/test.jsp
客户端两次访问的页面,应该对应的是Web1和Web2服务器返回的不同页面,并且会分别显示不同的Session ID信息
#########################################################
案例4:Tomcat实现session共享
步骤一:构建memcached服务
  1)安装Memcached服务
[root@svr5 ~]# yum –y install memcached
2)启动服务并查看网络连接状态验证是否开启成功:
[root@svr5 ~]# systemctl start memcached
[root@svr5 ~]# netstat  -anptu  |  grep memcached
步骤二:在Tomcat服务器上部署msm
  注意:这些操作在两台后端Web服务器上均需要执行,以下操作以Web1(192.168.2.100)服务器为例。
1)安装msm
[root@svr100 ~]# cd  lnmp-soft/session          //从真机中scp  lnmp-solf包
[root@svr100 session]# ls .jar
asm-5.1.jar                              minlog-1.3.0.jar
kryo-3.0.3.jar                           msm-kryo-serializer-1.9.2.jar
kryo-serializers-0.34.jar                reflectasm-1.11.1.jar
memcached-session-manager-1.9.2.jar      spymemcached-2.11.1.jar
memcached-session-manager-tc8-1.9.2.jar
[root@svr100 session]# cp
.jar /usr/local/tomcat/lib/
2)修改Tomcat配置文件,连接memcached服务器
[root@svr100 ~]# ~]# vim  /usr/local/tomcat/conf/context.xml



[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
  以上步骤在web2上类似实施
  步骤三:客户端测试
[root@pc01 ~]# firefox http://192.168.4.5/test.jsp
客户端两次访问的页面,应该对应的是Web1和Web2服务器返回的不同页面,但是Session ID信息不会变化。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642285-1-1.html 上篇帖子: Tomcat Unsupported major.minor version 52.0错误 下篇帖子: tomcat日志切割catalina.out
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表