nginx 辅助 同一个tomcat绑定多个二级域名及辅助多个tomcat绑定多个二级域名

版权声明:转载请附带本文地址 https://blog.csdn.net/liuyifeng1920/article/details/78296809


公司现阶段部署环境,一台Linux服务器,部署了4个项目,一个项目A 单独使用一个tomcatA     ,项目B,C,D 使用同一个tomcat B。


一开始BCD项目通过配置tomcat 配置文件中Server.xml 中的HOST 节点来达到同一个tomcat使用不同二级域名的目的的:如下

<Host name="B.xxx.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

        <Host name="C.xxx.com" appBase="webapps"  
               unpackWARs="true" autoDeploy="true"  
                      xmlValidation="false" xmlNamespaceAware="false">
                             <Alias>wap.tengjin.com</Alias>
                                    <Context path="" docBase="/opt/apache-tomcat-7.0.63/webappswap"  reloadable="true"></Context>
                                     </Host>


         <Host name="D.xxxx.com" appBase="webapps"  
                        unpackWARs="true" autoDeploy="true"  
                                              xmlValidation="false" xmlNamespaceAware="false">
                                                                 <Alias>sj.jieduoduo.tengjin.com</Alias>
                                     <Context path="" docBase="/opt/apache-tomcat-7.0.63/webappsjieduo"  reloadable="true"></Context>
                                                                                                                                                    </Host>

而当时A项目是直接使用IP访问的。先在的需求是将A项目也绑定上另外一个二级域名 A.xxx.com

这就需要用到nginx做请求的分发了,占用80端口,将请求分发到不同的端口上,并指定域名

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

#主要是用于设置一组可以在proxy_pass和fastcgi_pass指令中使用额代理服务器,默认负载均衡方式为轮询
#一个tomcat下放了三个项目 用的是8083接口
  upstream tomcat_client {
    server localhost:8083;
  }
#这个放的是安卓,ios的接口
upstream tomcat_app_api {
       server localhost:8080;
    }

#这个放的是图片服务器
upstream tomcat_img {
       server localhost:8088;
    }

     server {
    listen 80;
    server_name B.xxx.com;
    location / {
      proxy_pass http://tomcat_client;
      proxy_redirect default;
      #设置代理
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

 server {
    listen 80;
    server_name C.xxx.com;
    location / {
      proxy_pass http://tomcat_client;
      proxy_redirect default;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

 server {
    listen 80;
    server_name D.xxx.com;
    location / {
      proxy_pass http://tomcat_client;
      proxy_redirect default;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

#安卓 ios接口
    server {
    listen 80;
    server_name A.xxx.com;
    location / {
      proxy_pass http://tomcat_app_api;
      proxy_redirect default;
      #设置代理
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }
  
#图片服务器接口
    server {
    listen 80;
    server_name E.xxx.com;
    location / {
      proxy_pass http://tomcat_img;
      proxy_redirect default;
      #设置代理
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

 

}

以上的配置,后来又增加了一个图片服务器的二级域名。


猜你喜欢

转载自blog.csdn.net/liuyifeng1920/article/details/78296809