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

tomcat+nginx实现反向代理和负载均衡

结果显示如图则安装正确。

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

tomcat+nginx实现反向代理和负载均衡


#浏览器中测试

http://ip

tomcat+nginx实现反向代理和负载均衡

三、nginx.conf配置

详情请看:https://zhuanlan.zhihu.com/p/31288275

四、配置反向代理

4.1 下载tomcat并解压

tomcat+nginx实现反向代理和负载均衡

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+nginx实现反向代理和负载均衡
tomcat+nginx实现反向代理和负载均衡

第二个端口为访问tomcat端口

tomcat+nginx实现反向代理和负载均衡

注意:两台tomcat端口不能一样!

tomcat+nginx实现反向代理和负载均衡

进入tomcat根目录/webapps/ROOT中对index.jsp进行修改

注意一定要在<body></body>标签内进行修改

tomcat+nginx实现反向代理和负载均衡

修改后保存 。

两台tomcat修改完成后进行启动.

tomcat+nginx实现反向代理和负载均衡

在浏览器中访问tomcat确保其启动完成

tomcat+nginx实现反向代理和负载均衡
tomcat+nginx实现反向代理和负载均衡

4.4 修改ngnix.conf配置tomcat

#vi /usr/local/nginx/conf/nginx.conf

(配置详情请看上方标题三)

主要配置项:

修改location 项:

tomcat+nginx实现反向代理和负载均衡

添加upstream:

tomcat+nginx实现反向代理和负载均衡

注意:在ngnix.conf中upstream与server同级,不要写在server{}里边

五、测试

ngnix.conf修改完成之后对ngnix进行重启.

#./nginx -s reload

在浏览器输入ip不需要访问端口即可直接进入tomcat,默认以轮询的方式进行服务器的切换

完成!!!!


以上是关于tomcat+nginx实现反向代理和负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

nginx+tomcat实现反向代理的负载均衡

Nginx+Tomcat的负载均衡与动静分离集群

tomcat+nginx实现反向代理和负载均衡

Nginx+Tomcat实现反向代理与负载均衡入门

nginx的反向代理功能和负载均衡

nginx学习3:实现nginx反向代理和负载均衡