实验基于上次实验
server1 nginx
server2 tomcat
server3 tomcat
一、搭建java环境
下载包
jdk-7u79-linux-x64.tar.gz
解压到指定路径下
[root@server2 ~]# tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
http://s1.运维网.com/images/20180218/1518921856798700.png
[root@server2 local]# vim /etc/profile 编辑文件,在最后加上
http://s1.运维网.com/images/20180218/1518921976898788.png
[root@server2 local]# source /etc/profile
先运行
[root@server2 local]# java
[root@server2 local]# javac
[root@server2 ~]# vim test.java
http://s1.运维网.com/images/20180218/1518922178350648.png
http://s1.运维网.com/images/20180218/1518922197728608.png
二、tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器 ,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应 HTML ( 标准通用标记语言 下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
下载
apache-tomcat-7.0.37.tar.gz
解压到指定路径
[root@server2 ~]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
http://s1.运维网.com/images/20180218/1518922422805981.png
[root@server2 tomcat]# bin/startup.sh 执行 开启tomcat
http://s1.运维网.com/images/20180218/1518924856260898.png
查看端口
http://s1.运维网.com/images/20180218/1518924945635195.png
[root@server2 ROOT]# pwd
/usr/local/tomcat/webapps/ROOT 在此路径下
http://s1.运维网.com/images/20180218/1518925045629126.png
编辑文件
http://s1.运维网.com/images/20180218/1518925248680339.png
浏览器访问
http://s1.运维网.com/images/20180219/1519026966827305.png
server3
[root@server3 local]# vim /etc/profile
http://s1.运维网.com/images/20180218/1518953254126702.png
[root@server3 local]# source /etc/profile
http://s1.运维网.com/images/20180219/1519006830459466.png
server1
修改配置文件
[root@server1 conf]# pwd
/usr/local/openresty/nginx/conf
[root@server1 conf]# vim nginx.conf
http://s1.运维网.com/images/20180219/1519019176756119.png
http://s1.运维网.com/images/20180219/1519006232504386.png
浏览器进行访问
http://s1.运维网.com/images/20180219/1519006247423441.png
修改server2和server3端的test.jsp里面的内容如下
http://s1.运维网.com/images/20180219/1519006916908343.png
http://s1.运维网.com/images/20180219/1519006926789715.png
再次测试时效果如下
http://s1.运维网.com/images/20180219/1519006983560075.png
http://s1.运维网.com/images/20180219/1519006989881382.png
修改配置文件,加入算法
http://s1.运维网.com/images/20180219/1519007122289948.png
客户端访问时
http://s1.运维网.com/images/20180219/1519007155584146.png
写入sticky算法时
http://s1.运维网.com/images/20180219/1519007264101609.png
如下会有错误,需要加入模块
http://s1.运维网.com/images/20180219/1519007289968315.png
此时我们需要,先注释掉所加入的内容,关掉nginx服务
[root@server1 sbin]# ./nginx -s stop
下载包
nginx-sticky-module 为 nginx 的第三方模块,使 nginx 支持 sticky 模式,所谓 sticky 模式
就是指同一个用户的访问请求都被发送到同一个 tomcat 实例上处理。
nginx-sticky-module-ng.tar.gz
[root@server1 ~]# tar zxf nginx-sticky-module-ng.tar.gz 解压
http://s1.运维网.com/images/20180219/1519007678794418.png
[root@server1 nginx-1.10.1]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads --user=nginx --group=nginx --add-module=/root/nginx-sticky-module-ng
[root@server1 nginx-1.10.1]# make && make install
[root@server1 conf]# pwd
/usr/local/lnmp/nginx/conf
[root@server1 conf]# vim nginx.conf
http://s1.运维网.com/images/20180219/1519010756840537.png
http://s1.运维网.com/images/20180219/1519011003766650.png
如下就ok了!
http://s1.运维网.com/images/20180219/1519011009645964.png
三、nginx+tomcat+memcached
在做下面的实验前,先注释掉server1配置文件中的sticky算法模块
server2,3做如下相同更改
[root@server2 ROOT]# pwd
/usr/local/tomcat/webapps/ROOT
[root@server2 ROOT]# vim test.jsp
http://s1.运维网.com/images/20180219/1519011181539570.png
http://s1.运维网.com/images/20180219/1519011195561116.png
此时浏览器测试,结果如下
输入的后一个用户信息会将前面的覆盖,所以不能对之前的进行保存
http://s1.运维网.com/images/20180219/1519011029743550.png
http://s1.运维网.com/images/20180219/1519011020899210.png
下来将server1的文件中sticky模块应用
重启服务
效果如下不会覆盖
http://s1.运维网.com/images/20180219/1519011794263648.png
当关掉server2的tomcat服务时,将会切换到server3上
http://s1.运维网.com/images/20180219/1519012017561461.png
server2,3上均安装有memcached
[root@server3 ROOT]# yum install -y memcached
均打开服务
http://s1.运维网.com/images/20180219/1519012355449494.png
http://s1.运维网.com/images/20180219/1519012368617887.png
交叉存储
指某些网站为了辨别用户身份,进行session跟踪而存储在用户本地终端上的数据
http://s1.运维网.com/images/20180219/1519012487910804.png
Tomcat-1 (T1) 将 session 存储在 memcached-2 (T2)上。只有当 M2 不可用时,T1 才将 session 存
储在 memcached-1 上(M1 是 T1 failoverNode)。使用这种配置的好处是,当 T1 和 M1 同时崩
溃时也不会丢失 session 会话,避免单点故障。
把如下软件包放置到server2,3 的/usr/local/tomcat/lib 目录中
kryo-1.03.jar
kryo-serializers-0.8.jar
memcached-2.5.jar
memcached-session-manager-1.5.1.jarmemcached-session-manager-tc7-1.5.1.jar
minlog-1.2.jar
msm-kryo-serializer-1.5.1.jar
reflectasm-0.9.jar
[root@server2 conf]# pwd
/usr/local/tomcat/conf
http://s1.运维网.com/images/20180219/1519014219904746.png
failoverNodes="n1" 坏了找自己
http://s1.运维网.com/images/20180219/1519019896146076.png
http://s1.运维网.com/images/20180219/1519014313266840.png
http://s1.运维网.com/images/20180219/1519019904184478.png
[root@server2 tomcat]# bin/startup.sh
[root@server2 tomcat]# tail -f logs/catalina.out 查看如下显示,节点布局正常
INFO: MemcachedSessionService finished initialization, sticky true, operation timeout 1000, with node ids [n2] and failover node ids [n1]
[root@server2 tomcat]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
get E9036174365D937978E22C81291D57DB-n1 浏览器
VALUE E9036174365D937978E22C81291D57DB-n1 2048 100
Wa;)܆a;)11a;)ܕa;)ܫ#E9036174365D937978E22C81291D57DB-n1asddasd
END
quit
Connection closed by foreign host.
[root@server3 tomcat]# yum install -y telnet
[root@server3 tomcat]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
get DB8DA8A20A4E163D52E6FE5F6AF34D5F-n2
VALUE DB8DA8A20A4E163D52E6FE5F6AF34D5F-n2 2048 129
Wa;E�Ea;N�01a;N�a;N�#DB8DA8A20A4E163D52E6FE5F6AF34D5F-n2cara123def456lh456abc123
END
quit
Connection closed by foreign host.
四、数据重写
[root@server1 conf]# vim nginx.conf
http://s1.运维网.com/images/20180219/1519025642275509.png
http://s1.运维网.com/images/20180219/1519025697516319.png
制作证书
http://s1.运维网.com/images/20180219/1519025789920608.png
http://s1.运维网.com/images/20180219/1519025805957112.png
http://s1.运维网.com/images/20180219/1519025853772697.png
http://s1.运维网.com/images/20180219/1519025911854165.png
[root@server1 www]# vim index.html 写入页面
http://s1.运维网.com/images/20180219/1519026001493130.png
修改配置文件
http://s1.运维网.com/images/20180219/1519026070164913.png
浏览器访问
修改文件,数据重写
http://s1.运维网.com/images/20180219/1519026192320694.png
[root@foundation12 包]# curl -I westos.org 客户端测试
http://s1.运维网.com/images/20180219/1519026299108829.png
修改文件
http://s1.运维网.com/images/20180219/1519026390641107.png
[root@foundation12 包]# curl -I www.westos.org
http://s1.运维网.com/images/20180219/1519026505734356.png
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com