前段时间因为对Tomcat不太熟悉,所以还不敢将其部署到我的阿里云服务器上,所以就用着新浪云计算的云容器来部署JSP的war文件。在我的阿里云CentOS的服务器上安装好Java环境还有Tomcat之后就迫不及待的将以前的网络应用部署上去,我的这个云应用是为了实现微信公众号的业务逻辑的,所以微信服务器有一个认证的过程,但是一直认证失败。最后看到原来微信服务器只支持80端口和443端口的网络连接。
 我的服务器上还有一个代理服务器是Nginx,它上面还部署着一个网站,所以我就想能不能将tomacat的8080端口代理到80端口上,网上一搜还真的可以呢!所以记录一下:
参考链接
  场景:项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问
注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中。这里通过nginx做反向代理。然后修改Nginx的配置文件。

server {  
        listen       80;  
        server_name  192.168.1.197;  

        #charset koi8-r;  

        #access_log  logs/host.access.log  main;  

        location / {  
            root   html;  
            index  index.html index.htm;  
        }  
        #加下面的配置  
    location /server1{  
        proxy_pass http://192.168.1.197:8081/server1;#主要是这里,这是tomcat1的端口和项目  
        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 /server2{  
        proxy_pass http://192.168.1.197:8082/server2;#主要是这里,这是tomcat2的端口和项目</span>  

        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 {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80; #监听端口
        server_name liefyuan.top; #域名
#这里是我部署的一个网站的配置,后端是Python写的Flask框架
        location / {
            include uwsgi_params;
            uwsgi_pass unix:/home/three/main.sock;
            uwsgi_param UWSGI_PYHOME /root/.virtualenvs/env; # 指向虚拟环境目录
            uwsgi_param UWSGI_CHDIR /home/three; # 指向网站根目录
            uwsgi_param UWSGI_SCRIPT main:app; # 指定启动程序
        }
        location /static {
            alias /home/three/static;
        }

#这里是我部署在Tomcat上的应用,那个war包名就叫liefyuan3.0_war
        location /liefyuan3.0_war{
        proxy_pass http://localhost:8080/liefyuan3.0_war;#主要是这里,这是tomcat1的端口和项目
        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;
        }

然后通过微信验证,完美通过验证!终于可以放弃新浪云的服务器了(好贵啊!)。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐