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

[经验分享] Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

[复制链接]

尚未签到

发表于 2018-12-5 09:36:11 | 显示全部楼层 |阅读模式
  Nginx+Tomcat+Memcached负载均衡配置完整流程:

  

  前言:
  

  Nginx实现Tomcat的负载均衡和利用memcached实现session共享.
  

  


  •   首先配置tomcat,JDK
  将jdktomcat 放入站点/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  

  在配置文件中的标签里面加入如下内容:
  

  需要注意这里
memcachedNodes="n1:192.168.230.128:11211"  这是第一台tomcat的IP地址记为n1,两台tomcat在这里配置均为第一台n1地址
  

  

  注意了 DSC0000.gif 给你个表情:这里需要通过完全克隆第二台tomcat或者重新再安装一次上述步骤,然后和上述配置一样,需要改的地方我在上面已经注释了,这样你就有相同配置但Ip地址不同两台tomcat,除了配置文件nginx.config里面IP地址需要更改。
  

  

  最后写一个index.jsp进行测试
  

  index.jsp 请见附见,我将写好的index.jsp打成了war包 ,起了个叫bbb.war 的war包,将这个war包放入tomcat的webapps下,即可直接访问 http://localhost/bbb.war  即可访问,结果如下图
  

  

DSC0001.gif

  

  

  So:出现上面结果需要刷新一下页面,如果还是这个Session未命中,UUID是变化的,说明你配置的有问 题,请通过快照一步一步排除问题所在,如果出现下面这个,页面没有Session未命中标识,同时刷新页面UUID不变化,如下图,则证明Nginx+Tomcat+Memcached负载均衡成功实现
  

  

DSC0002.gif

  失败请返回快照一步步排错 DSC0003.gif 另外附件上传至Nginx+Tomcat+Memcached负载均衡配置附件撩 DSC0004.gif
  

  

  好吧 找不到附件我就在加一个index.jsp,记得给楼楼一个赞呦~







   
    Session 共享测试


本机IP:


Session未命中

UUID:

  

  拿走不谢,留下你的赞呦




运维网声明 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-643474-1-1.html 上篇帖子: Tomcat优化记录_数据源最大连接数_linux系统openfile最大限制 下篇帖子: 关于tomcat优化记录与思路
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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