博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx做前端反代负载均衡,后端httpd+tomcat
阅读量:6546 次
发布时间:2019-06-24

本文共 2276 字,大约阅读时间需要 7 分钟。

实验内容:用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配置段添加:

<Context path="/test" docBase="testapp"/>

]# 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

浏览器测试,输入

多次刷新后,实现负载均衡且比例为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做会话绑定的。

浏览器测试,输入

多次刷新后,会绑定在一个源ip上。

httpd还可使用ajp协议进行反代tomcat,这样的好处是避免用户请使用求跨过httpd来访问tomcat,因为如果使用http协议反代,则有可能会用户直接访问后端的tomcat而跨过了httpd。

其配置也非常简单,根据以上配置稍作修改即可:

只需修改node1和node2上的配置文件:

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

其它都不变。

查看httpd已加载的模块:

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

本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1789310,如需转载请自行联系原作者
你可能感兴趣的文章
FBI网站被黑致数据泄露?官方称这根本是个骗局
查看>>
不法分子散播奥运诈骗链接 伪造APP窃取个人信息
查看>>
如何重塑IT部门以适应全新云环境
查看>>
思科尤岱伟:思科安全因“产品组合”与“集成架构”变得不同
查看>>
如何成为一名优秀的软件测试人员
查看>>
Hadoop专业解决方案-第5章 开发可靠的MapReduce应用
查看>>
关于手机等品牌型号搜索与采集的中文分词分离
查看>>
Cocos2D v2.0至v3.x简洁转换指南(二)
查看>>
[ Talk is Cheap Show me the CODE ] : jQuery Mobile工具栏
查看>>
《裸阳》对互联网公司对技术人的启示
查看>>
Java服务器检测与远程重启
查看>>
想让网站销量爆涨?你离成功只差一个出色的购物车设计
查看>>
Android代码单元测试
查看>>
嵌套循环的效率优化
查看>>
Hadoop的kerberos的实践部署
查看>>
SQL SERVER 2005学习笔记(一)
查看>>
我的友情链接
查看>>
MFC (7)在pic控件里加载一幅图片源码
查看>>
redis安装
查看>>
Linux命令之touch
查看>>