windows下使用nginx配置多个tomcat共用80端口 - Go语言中文社区

windows下使用nginx配置多个tomcat共用80端口


需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理。项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问

注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中。

(例如:https://blog.csdn.net/csdn15698845876/article/details/80658599中为集群部署)

nginx反向代理的意思大概如下图(https://www.cnblogs.com/wcwnina/p/8728391.html):

 

多个用户请求先经过nginx服务器,然后由nginx服务器进行分发,将请求根据配置需要分发给指定的tomcat服务器,Tomcat根本不知道请求的来源,只知道所有的请求都是来源于Nginx,不知道真正的来源。

一,下载安装

下载地址:http://nginx.org/en/download.html

解压打开,可直接双击nginx启动服务

在浏览器输入http://localhost,如果页面显示如下,则服务启动成功

二,准备好要部署的项目

 

这是由maven构建的两个打包方式为war的项目。

三,部署项目到tomcat(参考https://blog.csdn.net/csdn15698845876/article/details/80658599

       首先我们把web工程打包成war。右键项目,选择Export ,然后web-----WAR file -----next-----Browse(选择保存的目录),为了方便我们保存到桌面即可,然后选择完成。

       因为我们是需要搭建tomcat集群,所以我们至少需要两个tomcat,我们把tomcat再复制一份就行

      

这个时候两个tomcat的端口还是一样的,我问需要修改其中一个tomcat的端口,那个都行。例如我们修改副本那个tomcat,进入conf目录,编辑server.xml,修改以下三处即可(看行号)。

 

 

 

原来这三处的端口分别是8005,8080,8009,我们都在此基础上加1。然后把刚才打包的ocOperator.war和ocPortal.war分别复制到两个tomcat的webapps目录下即可。然后启动两个tomcat,运行tomcat的bin目录下的startup.bat文件,把两个tomcat都启动后,在浏览器分别访问http://localhost:8080/ocPortal/http://localhost:8081/ocOperator/能够看到我们的项目主页

                

四,使用ngnix代理

进入nginx-1.15.12conf目录,我们需要配置一些内容。

    #一个server只能监听一个端口号
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
        location / { 
       root html; 
       index index.html index.htm; 
      }

       location /ocPortal{   #配置访问路径
       proxy_pass http://localhost:8080/ocPortal;  #设置对应tomcat端口跳转路径 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       client_max_body_size 100m; 
       root html; 
       index index.html index.htm; 
     }

     location /ocOperator{   #配置访问路径
       proxy_pass http://localhost:8081/ocOperator;   #设置对应tomcat端口跳转路径
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       client_max_body_size 100m; 
       root html; 
       index index.html index.htm; 
     }

这样就可以使用http://localhost:8080/ocPortal/http://localhost:8080/ocOperator/分别访问服务。

 

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/angela_0612/article/details/89709960
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:22:02
  • 阅读 ( 1563 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢