标签:沉淀
Nginx+Tomcat+Memcached负载均衡配置完整流程:
前言:
Nginx实现Tomcat的负载均衡和利用memcached实现session共享.
首先配置tomcat,JDK
将jdk,tomcat 放入站点/opt目录中
安装JDK
cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version //检验版本
安装Tomcat
tar -zxf apache-tomcat-6.0.45.tar.gz cd apache-tomcat-6.0.45/bin chmod 755 startup.sh ./startup.sh
安装jar包:
直接粘贴至tomcat文件lib目录下
jar包见附件
下面是安装jdk1.7,1.8的方法,我们这边用的是jdk 1.8所以还可以提供jdk 1.8版本的,jdk 1.7的自己去官网下即可
Jdk 1.7,Jdk 1.8
rpm -ivh jdk-7u80-linux-x64.rpm rpm -ivh jdk-8u77-linux-x64.rpm
tomcat日志状态
tail -f /opt/apache-tomcat-6.0.45/logs/catalina.out
注:
执行到这一步:那么我们首先打开tomcat
http://localhost:8080/ //localhost指的是你当前的ip地址
确认页面可以出现TOM猫儿,证明启动成功,
着重点:此刻拍摄一个快照,命名为Tomcat
So:
2.安装Nginx
1. yum install epel-release 2. yum install nginx 3.关闭SELinux vi /etc/selinux/config #改为 SELINUX=disabled 4. service nginx start //启动 service nginx restart //重启 service nginx status //查看状态
注:
执行到这一步:那么我们首先打开tomcat
http://localhost:8080/ //localhost指的是你当前的ip地址
然后去掉:8080 也就是: http://localhost/
确认页面可以出现写有nginx,证明启动成功,
着重点:此刻拍摄一个快照,命名为Nginx
So:
3.Memcached安装:
yum install -y telnet yum install -y memcached service memcached start //启动 service memcached restart //重启 service memcached status //查看状态
注:
执行到这一步:那么我们首先打开tomcat
http://localhost/ (注意没有8080)
确认页面依旧是Tomcat而不是Nginx,证明启动成功,
着重点:此刻拍摄一个快照,命名为Memcached
Final:
4.修改nginx.config文件:
vi /etc/nginx/nginx.conf
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 2048; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ ‘$status $body_bytes_sent "$http_referer" ‘ ‘"$http_user_agent" "$http_x_forwarded_for"‘; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; upstream puppetmaster { server 192.168.230.128:8080; server 192.168.230.133:8080; } server { listen 80; location / { ##设置跳转到puppetmaster负载均衡 proxy_pass http://puppetmaster; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Client-Verify $ssl_client_verify; proxy_set_header X-SSL-Subject $ssl_client_s_dn; proxy_set_header X-SSL-Issuer $ssl_client_i_dn; proxy_buffer_size 10m; proxy_buffers 1024 10m; proxy_busy_buffers_size 10m; proxy_temp_file_write_size 10m; proxy_read_timeout 120; } location /status { stub_status on; access_log off; allow all; } } }
需要注意这里
upstream puppetmaster { server 192.168.230.128:8080; #server 192.168.230.133:8080; }
这里的两个地址分别指的是你的两台不同的tomcat地址,#表示注销,也就是说这里只需要加入当前tomcat地址,而在另一台tomcat上加入另一台tomcat的当前地址
这里只需要加入当前tomcat的IP地址即可
5.
修改apache-tomcat-6.0.45/conf/context.xml文件:
cd /opt vi apache-tomcat-6.0.45/conf/context.xml
在配置文件中的<context></context>标签里面加入如下内容:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.230.128:11211" sticky="false" sessionBackupAsync="false" sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" customConverter="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
需要注意这里
memcachedNodes="n1:192.168.230.128:11211"
这是第一台tomcat的IP地址记为n1,两台tomcat在这里配置均为第一台n1地址
注意了给你个表情:这里需要通过完全克隆第二台tomcat或者重新再安装一次上述步骤,然后和上述配置一样,需要改的地方我在上面已经注释了,这样你就有相同配置但Ip地址不同两台tomcat,除了配置文件nginx.config里面IP地址需要更改。
最后写一个index.jsp进行测试
index.jsp 请见附见,我将写好的index.jsp打成了war包 ,起了个叫bbb.war 的war包,将这个war包放入tomcat的webapps下,即可直接访问 http://localhost/bbb.war 即可访问,结果如下图
So:出现上面结果需要刷新一下页面,如果还是这个Session未命中,UUID是变化的,说明你配置的有问 题,请通过快照一步一步排除问题所在,如果出现下面这个,页面没有Session未命中标识,同时刷新页面UUID不变化,如下图,则证明Nginx+Tomcat+Memcached负载均衡成功实现
失败请返回快照一步步排错 另外附件上传至Nginx+Tomcat+Memcached负载均衡配置附件撩
本文出自 “底蕴” 博客,转载请与作者联系!
Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)
标签:沉淀
原文地址:http://10146719.blog.51cto.com/10136719/1837214