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

[经验分享] memcached+tomcat+session+nginx在工作中的应用和配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-14 08:51:18 | 显示全部楼层 |阅读模式
环境介绍:公司根据实际需要搭建一个购物网站,当用户购物时可以 将不同商品,放到同一个购物车中进行同时付款。
环境的搭建:
外网用户  IP地址:1.1.1.1  主机名:fanxiaohui  用户访问网站http://www.taobao.com  
使用nginx实现负载均衡,由于网页是用JAVA开发的所以选用tomcat搭建网站服务,由于用户在购物时http是一个无状态的协议,不同的商品都是一个新的连接,默认不会把几个商品放到同一个购物车中,无法进行统一结账,为了能使服务器能够认识是同一个客户端发起的请求,公司有多台服务器,为了使所有服务器都认识同一客户端,所以用memcached+session做缓存服务器,同上为了memcached出现故障,所以使用memcached_bakup做备份,可以对访问的网页进行session_id进行标记,以保证用户在不同服务器或者在同一台服务器上都可以进行付款。
内部网站的构建:
nginx服务器IP地址:192.168.1.254  IP地址:1.1.1.254  主机名:localhost
tomcat1服务器IP:192.168.1.1 主机名:fanlj1
tomcat2服务器IP:192.168.1.2 主机名:fanlj2

memcached服务器IP:192.168.1.10 主机名localhost

memcached_backup服务器IP:192.168.1.20 主机名localhost


实验目的:memcached+tomcat+session+nginx在实际中的应用和配置。
实验(一)

搭建2台tomcat服务器
软件包:
memcached+session-package.zip
apache-tomcat-6.0.32.tar.gz  tomcat主包

jdk-6u27-linux-i586.bin    tomcat环境包
1。安装环境包,安装时出现一下错误显示安装./install.sfx.4606时没有 /lib/ld-linux.so2文件。

wKioL1XyLluwj3kZAAEdH-zmLjQ995.jpg
解决的方案是首先查看是否有这个文件或者目录
wKiom1XyLRvhZ3oAAABsiLoLOuA772.jpg
查看后 确实没有这个文件和目录,这个文件是有glibc软件提供的,查看glibc的包是否已安装,但是系统还是找不到这个文件,而系统的软件安装包中除了有一下的软件包外还有i686的软件包
wKioL1XyL9XjogNtAAC9aJ8q2ps523.jpg

查看系统镜像中的glibc软件包,安装i686glibc软件包。
wKioL1Xyrwjj21y5AAF7mePTK9k344.jpg
安装 完毕后在执行jdk-6u27-linux-i586.bin  

wKiom1XyrY3Dsu92AAAxC0P61xE530.jpg
安装完成后会生成一个文件夹jdk1.6.0_27,把文件夹放到/usr/local/jdk.

wKioL1XytO6ihLm1AAHQpcYwNTw568.jpg
wKioL1XytemxxvbxAAA2sza3vNM160.jpg
查看jdk的版本信息

wKioL1XytlHSG7wLAADNvzKRm1k648.jpg
定义系统环境变量,来调用安装目录下的内容,每打开一个终端都 可以调用目录下的内容。export定义关键字,JRE_HOME指定jdk的安装目录,JAVA_BIN指定jdk可执行命令存放的位置,PATH指定系统环境变量,CLASSPATH类文件存放 的路径和名字,dt.jar和tools.jar是用JAVA写好的命令,是tomcat运行的要调用的程序,最后重新 定义全局变量。source为重新加载系统环境变量的文件。
wKiom1XytGehZ54VAAD4rYbXVzU539.jpg
wKiom1XytLTCHifmAACjHKvvBZw241.jpg
2.安装tomcat主软件包,由于该软件包是免安装的,所以对解压/usr/local/目录下,使系统在启动时就可以加载。
wKiom1XytUSwc-iTAABEdSL3B7M581.jpg

wKiom1XytXGiIXIJAACzqbJ9Juo565.jpg
webapps/ROOT/      网页目录
logs                          日志目录
conf                          配置文件存放目录
bin                            可以执行命令
bin/shutdown.sh      停止服务
bin/startup.sh          启动服务
3.启动tomcat服务
wKioL1XyuCGgS0MNAAGv6lDqBxk556.jpg

4.在客户端进行测试,本实验在tomcat本机进行测试,在浏览器中输入http://localhost:8080  出现一下界面

wKiom1XyvYnw8X7jAAIKvP3gr3s437.jpg 点击Tomcat Manager可以对进行 管理,点击后要求输入用户名和密码才能进入。由于没有设置用户名和密码所以点击取消,会出现一下界面,根据提示进行操作,修改配置文件.
wKioL1XywIOj6AFuAAJGzuEy_N0543.jpg
wKioL1XywGiSj8aUAABDEBHA9VI682.jpg wKiom1XyvorT8PblAABuQ2LGASU102.jpg
配置文件修改后重新启动服务
wKiom1XyvyHg3F33AAHUD7-JGR0871.jpg
启动完成后重新刷新页面
wKiom1Xyv4yzwRrlAADRIgMkffE069.jpg
wKiom1Xyv_zRqyadAAK2jr3z3-U498.jpg
建立测试页进行测试
wKiom1Xyx2CCigjRAADVROoSZGA993.jpg
在浏览网页上进行测试,192.168.1.1为网页内容,上面的数字为seesion_id。

wKiom1Xyx7GzTnADAAEzCpOn2sY981.jpg
tomcat2的搭建同上

检查测试页面内容如下:

wKiom1XyyjGz9brPAADw944KoSQ213.jpg
wKioL1XyzGqRyYDCAAFIwxcwAoI771.jpg
实验(二)
搭建nginx服务器
实验目的:nginx用来实现tomcat的负载均衡

配置nginx反向代理,把用户的连接请求平均的分发给2台tomcat服务器
1.查看编译环境是否安装。
wKioL1Xy3RLCgsvYAACljlUCaO0959.jpg

wKiom1Xy21Wh8w8-AABNZzr6kwE526.jpg
2.安装软件包,--with-http_ssl_module指定用户可以用https访问的模块,--with-http_stub_status_module指定通过web页面的方式查看nginx被访问的信息情况的模块

wKiom1Xy3IHwx1HhAAI7At7GfvE096.jpg
wKiom1Xy3T7B9d2OAADDq4U5Mcw930.jpg
通过以上配置安装时出现以下错误http rewrite(地址重写模块需要pcre库,要求安装PCRE库),rewrite  地址重写   修改客户端访问自己的url 路径,使用perl风格正则表达式去匹配用户访问自己URL源路径 (PCRE library)。
wKioL1Xy37SzSSVQAAGYWaHS4OM400.jpg
查看系统安装的pcre包有那些,软件包中有那些,如果没有全部安装用yum安装,pcre-devel软件包为pcre软件提供库文件。
wKiom1Xy3mmBnKgEAAGwayd7z5k856.jpg
再次配置时又出现错误,错误如下
wKiom1Xy3pmR9BCgAAFgF5fVkFc389.jpg
安装openssl库文件
wKiom1Xy3u_QBYKgAAOP9oF9ORg117.jpg
安装make&make install
wKioL1Xy4Vyz2y9GAABRfbVbmy4853.jpg
启动nginx服务

wKioL1Xy4unjhjwqAAE1ziYOt0I932.jpg
去除nginx主配置文件的空行和以#开头的行

wKiom1Xy4XKT3zEUAAKCJFQv84w471.jpg

修改主配置文件,定义一个工作组,把用户的连接请求平均的分发给2台tomcat服务器
wKiom1Xy40jTZvAhAAA3Yu9uVRQ286.jpg
wKioL1Xy5YGQSZ4uAACVyhbbkRg672.jpg
wKiom1Xy41uzyOQRAABqoAndKF8276.jpg
测试主配置文件是否有错
wKioL1Xy5eWgY8_6AAER08wuVic345.jpg
重启nginx服务
wKiom1Xy5AOCGPneAABrb0-AvGQ210.jpg
在客户端进行测试,查看是否可以访问tomcat1和tomcat2的网页信息。

wKioL1Xy6CKSU7yfAADkKvJ3fVE348.jpg
实验(三)
搭建memcached服务器
实验目的:当用户访问tomcat服务器时,tomcat首先查看memcached服务器上有用户的session_id,如果有访问过,memcached服务器上就有用户的session_id.
使用memceached源码包:memceached-package.zip
wKioL1XzAFCTcqQGAALqjWXE6Jk649.jpg
1.在192.168.1.10上安装memcached服务,检查编译环境是否安装
wKioL1XzAcbSCQTPAAC-qhR0exs718.jpg
wKiom1Xy_9nz8ybRAABUHxt8PjE374.jpg
2.安装环境包libevent-2.0.15-stable.tar.gz,解压软件包。
wKiom1Xy_oWhOeIAAABh0susxBQ120.jpg
wKioL1XzAvPA9kWZAABgijYJqek291.jpg
wKiom1XzAPWDbqaoAABfN3e2MgY846.jpg
3.安装主包

wKioL1XzA53DQ4UOAAEJqIxs5rI166.jpg
wKiom1XzAbaSa0YSAABkW0ha20Y736.jpg
4.查看memcached的帮助信息出现一下错误,没有加载libevent文件

wKioL1XzBEzhEpgSAAEKAmj8wLQ667.jpg
解决上述错误的方法,写一个库文件所在位置配置文件放到系统的配置文件下/etc/ld.so.conf.d/

wKiom1XzA0zgc6STAAEnSfvVc9o024.jpg
wKiom1XzBJ2BbfwPAABOqEIgsgc050.jpg
wKiom1XzBKWxnQqdAABYlz0e4YI419.jpg
5.启动memcached服务
wKiom1X08S-ikI-lAAB6ONS39ZY055.jpg
查看是否已启动

wKioL1X083XjttYbAAFGMSeGRTs175.jpg
在服务器上192.168.1.20上搭建memcached2的服务同上

查看memcached2的服务

wKiom1X08hOTi8LeAAIWtHD5Z2k347.jpg
实验(四)

实验目的:在2台tomcat 服务器上安装连接memcached服务器的连接工具msm
1.复制连接工具的连接程序

wKiom1X0__jhTpOZAAEIZH1IRBE373.jpg
将连接程序放到/usr/local/apache-tomcat/lib/

wKioL1X1AoyDA53vAAA_bWZBi-g989.jpg
2.修改tomcat的配置文件告诉有几台memcached服务器,那台是访问的,那台是备份的,contest.xml为连接的配置文件,className定义连接时调用的类(就是刚才拷贝的东西),memcachedNodes定义memcached的节点(定义memcached服务器的IP和端口),failoverNodes定义的备用的那台,requestUrilgnorePattern定义后面的不往缓存里放,transcoderFactoryClass定义连接时调用的类名。
wKioL1X1BDyBpcg0AABOh2RHD-4436.jpg

wKiom1X1BNjxGUpfAAE59GkBOWM398.jpg
3.重新启动服务

wKiom1X1BSjwxj6hAAJRADW3AP8725.jpg
4.客户端测试

wKiom1X1LRPDzpDWAAE6AqXKxcs607.jpg
wKioL1X1L2CB0gbnAAE_8btkKy0515.jpg
测试备用memcached服务器是否生效
停止192.168.1.10上的memcached服务
wKiom1X1L22g3W6oAADVZweFthE889.jpg
测试
wKioL1X1Me6z31dKAAFPaMa90Y4120.jpg wKiom1X1L8WQpQ-4AAFcKT8Dsmc243.jpg
总结:当用户访问tomcat网站web页面时出现的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-113275-1-1.html 上篇帖子: memceached服务器的搭建、tomcat服务器的搭建 下篇帖子: Memcached 源码安装 与 配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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