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

[经验分享] nginx做前端反代负载均衡,后端httpd+tomcat

[复制链接]

尚未签到

发表于 2018-12-5 09:52:53 | 显示全部楼层 |阅读模式
  实验内容:用nginx做前端反代负载均衡后端httpd+tomcat

  

  实验环境:物理机win7,虚拟机centos7;
  node1:172.18.11.111 httpd+tomcat

  node2:172.18.11.112 httpd+tomcat
  node3:172.18.11.113 nginx反代负载均衡
  

  说明:httpd有两种方式与tomcat通信;
  (1)httpd可使用http模块反代tomcat,此时tomcat使用http链接器;
  (2)httpd还可使用ajp模块反代tomcat,此时tomcat使用ajp链接器;

  在node3上:
  安装nginx
  ]# yum  -y install nginx-1.8.0-1.el7.ngx.x86_64.rpm
  ]# vim /etc/nginx/conf.d/default.conf
  在server配置段添加:
  location / {

  root   /usr/share/nginx/html;
  index  index.html index.htm;
  proxy_pass http://websrvs;
  }
  

  ]# vim /etc/nginx/nginx.conf
  在http配置段添加:
  upstream websrvs {
  server 172.18.11.111:80 weight=1;
  server 172.18.11.112:80 weight=2;
  }

  

  分别在node1和node2上:安装httpd和tomcat
  安装java运行环境:
  ]# yum -y install java-1.7.0-openjdk java-1.7.0-openjdk-devel
  ]# vim /etc/profile.d/java.sh
  export JAVA_HOME=/usr
  

  ]# . /etc/profile.d/java.sh
  

  安装tomcat:

  ]# yum install tomcat tomcat-lib tomcat-webapps tomcat-admin-webapps
  

  在web工作目录创建应用存放目录;

  ]# cd /var/lib/tomcat/webapps/
  ]# mkdir testapp
  ]# mkdir classes lib WEB-INF META-INF
  ]# vim  /var/lib/tomcat/webapps/testapp/index.jsp

  ]# vim /etc/tomcat/server.xml
  在Engine配置段添加:
  
  

  ]# systemctl start tomcat.service
  

  把创建的所有目录文件复制一份到node2上,然后再做配置文件修改:
  ]# scp -r /var/lib/tomcat/webapps/testapp/ node2:/var/lib/tomcat/webapps/
  ]# scp /etc/tomcat/server.xml node2:/etc/tomcat/
  

  在node2上:
  ]# vim /var/lib/tomcat/webapps/testapp/index.jsp

  ]# systemctl start tomcat
  

  安装好tomcat后,分别在node1和node2上安装httpd并编辑配置文件:
  ]# yum -y install httpd
  ]# vim /etc/httpd/conf/httpd.conf
  #DocumentRoot "/var/www/html"
  

  ]# vim /etc/httpd/conf.d/proxy_http_tomcat.conf

  因为node1和node2都是httpd本地反代tomcat,所有配置文件完全一样;
  

  本次使用proxy_http_module反代模块基于http协议与tomcat通信:
  ]# httpd -M

  ]# systemctl start httpd
  

  浏览器测试,输入http://172.18.11.113/testapp/index.jsp
  多次刷新后,实现负载均衡且比例为1:2,实现了前端nginx反代后端tomcat。
  



  

  如果要做会话粘性,可在nginx上在upstream配置段添加一条指令即可:
upstream websrvs {
  server 172.18.11.111:80 weight=1;
  server 172.18.11.112:80 weight=2;
  ip_hash;

}
说明:ip_hash是基于源ip做会话绑定的。
  

  浏览器测试,输入http://172.18.11.113/testapp/index.jsp
  多次刷新后,会绑定在一个源ip上。
  

  httpd还可使用ajp协议进行反代tomcat,这样的好处是避免用户请使用求跨过httpd来访问tomcat,因为如果使用http协议反代,则有可能会用户直接访问后端的tomcat而跨过了httpd。
  其配置也非常简单,根据以上配置稍作修改即可:
  

  只需修改node1和node2上的配置文件:
  ]# vim /etc/httpd/conf.d/proxy_http_tomcat.conf

  其它都不变。
  查看httpd已加载的模块:

  以上过程就是简单实现nginx作为反代负载均衡至后端tomcat服务器的配置实验。
  

  





运维网声明 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-643487-1-1.html 上篇帖子: tomcat快速启动及自动重启的方法与脚本 下篇帖子: Nginx+Tomcat(实现负载均衡,实现动静分离)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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