tomcat+nginx实现反向代理和负载均衡
Posted IT民工微生活
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat+nginx实现反向代理和负载均衡相关的知识,希望对你有一定的参考价值。
一、nginx简介(来源:百度百科)
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的http://Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
二、Ngnix安装
安装gcc,使用命令 yum -y install gcc-c++
安装nginx的前提必须安装pcre和zlib
安装pcre,使用命令 yum -y install pcre-devel
安装zlib,使用命令 yum install -y zlib-devel
1.下载Ngnix tar包,并解压
1.1 wget http://nginx.org/download/nginx-1.10.3.tar.gz
1.2 tar -zvxf nginx-1.10.3.tar.gz
2.安装
2.1 进入Ngnix目录,运行./configure --prefix=/usr/local/nginx
2.2 执行:make && make install
2.3 检查是否安装成功:
# cd /usr/local/nginx/sbin
# ./nginx -t
结果显示如图则安装正确。
3.启动、停止、重启与测试
3.1 启动
方法1:
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
方法2:
# cd /usr/local/nginx/sbin
# ./nginx
3.2 停止
#查询ngnix主进程号
ps -ef | grep ngnix
#停止进程
kill -QUIT 主进程号
#快速停止
kill -TERM 主进程号
#强制停止
pkill -9 ngnix
3.3 重启
/usr/local/ngnix/sbin/ngnix -s reload
注意:首次重启需:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
3.4 测试
#测试端口
netstat -na | grep 80
#浏览器中测试
http://ip
三、nginx.conf配置
详情请看:https://zhuanlan.zhihu.com/p/31288275
四、配置反向代理
4.1 下载tomcat并解压
4.2 将解压后的文件拷贝一份(tomcat+ngnix反向代理至少需要两台tomcat)
#cp apache-tomcat-8.5.15/ apache-tomcat-8.5.15-1/ -r
4.3 修改两台tomcat的主页以及server.xml,用于区分
注意:此处仅演示其中一台tomcat的修改过程
#vi apache-tomcat-8.5.15/conf/server.xml
需要修改三个端口:
第二个端口为访问tomcat端口
注意:两台tomcat端口不能一样!
进入tomcat根目录/webapps/ROOT中对index.jsp进行修改
注意一定要在<body></body>标签内进行修改
修改后保存 。
两台tomcat修改完成后进行启动.
在浏览器中访问tomcat确保其启动完成
4.4 修改ngnix.conf配置tomcat
#vi /usr/local/nginx/conf/nginx.conf
(配置详情请看上方标题三)
主要配置项:
修改location 项:
添加upstream:
注意:在ngnix.conf中upstream与server同级,不要写在server{}里边
五、测试
ngnix.conf修改完成之后对ngnix进行重启.
#./nginx -s reload
在浏览器输入ip不需要访问端口即可直接进入tomcat,默认以轮询的方式进行服务器的切换
完成!!!!
以上是关于tomcat+nginx实现反向代理和负载均衡的主要内容,如果未能解决你的问题,请参考以下文章