通过Nginx完美解决多个项目共用一个端口
情景模拟: 问题1: 我们买了一个某某服务器,如果用这台服务器只跑一个项目,可能会有点浪费。 解决方案1: 安装多个Tomcat放置多个项目,分配不同的端口。 问题追加2: 有的项目对端口有强制要求,例如:微信订阅号等等。需要80或者443端口,现在我们需要多个项目公用一个端口[例如:80] 解决方案2: 可以把多个项目放置到同一个Tomcat中,公用一个端口。 问题追加3: 如果我们某一个项目出现问题,需要重启服务,那么Tomcat下的所有都会restart。 解决方案3: 我们今天的主题,通过Nginx实现多个项目公用一个端口。 注意:这里和F5区分[并非一码事]。 1、准备[我们是在虚拟机中模拟测试] Nginx:192.168.102.110:7777 Tomcat1:192.168.102.110:9526/A[项目] Tomcat2:192.168.102.110:9527/B[项目] 2、 修改配置 Tomcat1: 修改端口为:9526 vi tomcat1/conf/server.xml 项目A Tomcat2: vi tomcat2/conf/server.xml 修改端口为:9527 Nginx:7777 vi nginx1.8/conf/nginx.conf 修改端口及绑定ip[有域名的可以用自己的域名] 注意:上面的upstream是配的F5先注释了[不用理睬]。 Location /A[自己的tomcat1项目名] Location /B[自己的tomcat2项目名] 3、 测试 开启Tomcat1、Tomcat2、Nginx服务 Tomcat1 Tomcat2 Nginx 浏览器访问: 分别访问A、B项目。 测试成功。
