码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx反向代理两个tomcat服务器

时间:2018-11-09 17:42:45      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:nginx   style   地址   inf   转发   格式   tomcat服务   启动   80端口   

 

技术分享图片

第一步,在Linux上安装两个tomcat,修改好端口号后,启动起来。

第二步,配置本地的DNS解析,即修改host文件:

技术分享图片

第三步,配置Nginx配置文件

反向代理的配置虚拟主机配置差不多也要配置虚拟主机以拦截请求,但是响应的地址不再是本地的目录,而是引用代理设置中的地址:

技术分享图片

 

具体解释:

先配置转发请求的真正服务地址,即真正响应服务的tomcat的地址和端口,

用 upstream + 自定义tomcat服务器的名称,然后里面是 server + tomcat的ip+端口

即:

技术分享图片

然后配置请求拦截的虚拟主机:

技术分享图片

其中的 server_name 还是拦截的请求域名,而和原来配置虚拟主机不一样的地方就是 location中,不再配置本地目录作为相应,而是用 proxy_pass  关键字来配置请求转发的服务器名称,具体格式为: proxy_pass  http:// + 服务器名称

其中的服务器名称就是我们在 upstream 中配置的 真正要提供服务的tomcat的 我们自定义的名称,即 tomcatserver1

这样,当前台请求 虚拟主机的拦截地址 8080.itheima.com时,虚拟主机就会将请求转发给真正的tomcat服务器 192.168.25.141:8080 来提供服务。

同理,再配置第二对请求的真正服务器 tomcatserver2 及 拦截请求的虚拟主机 server_name 8081.itheima.com

 

测试:

reload nginx的配置文件,然后访问

 技术分享图片

 

 

 技术分享图片

这样就实现反向代理即从表象上看,我们两个请求都是请求的同一个ip地址同样都是默认的80端口,但是服务器端实际上是用两个不同的tomcat来响应的

因为我们前面在host中配置的是同一个ip,而且没有配端口(后面的8080和8081后面都是点,即其是域名,非端口),所以看起来像是访问的同一个服务器ip地址和端口。

技术分享图片

 

这种情况下,Nginx实际上只做了请求的转发:请求来时,将请求转发给对应的tomcat,tomcat处理完响应回的数据再由Nginx转发给请求者。

 

Nginx反向代理两个tomcat服务器

标签:nginx   style   地址   inf   转发   格式   tomcat服务   启动   80端口   

原文地址:https://www.cnblogs.com/libin6505/p/9936232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!