tomcat+nginx多站点配置

 
 
今天学习使用nginx进行多站点配置,将步骤进行简单的记录,方便以后查询使用。本文涉及到多域名配置以及一个域名映射多个端口的情况。
 
一、tomcat 多端口映射配置:
 
1、tomcat文件夹中创建两个webapps:
  首先在tomcat目录下创建多个webapps文件夹,分别叫webapps1、webapp2,之前的webapps 没做任何修改。htgl 项目放到webapps1文件夹下,ytdz项目放到webapp2文件夹下。
 
2、修改tomcat conf 文件夹中的 server.xml的配置
  在server.xml文件中加入下面一段配置
  <!-- htgl 配置如下 -->
  <Service name="Catalina1">
    <Connector port="8081" protocol="HTTP/1.1" maxThreads="150" minSpareThreads="25"
      maxSpareThreads="75"  enableLookups="false" redirectPort="8443"
      acceptCount="100" debug="0" connectionTimeout="20000"
      disableUploadTimeout="true"  URIEncoding="UTF-8"/>
    <Engine name="Catalina1" defaultHost="localhost">
    <Realm className="org.apache.catalina.realm.LockOutRealm">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
      resourceName="UserDatabase"/></Realm>
    <!-- -这里配置webapps1的指向目录->
    <Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true"> 
     <!-- -这里配置webapps1的目录中htgl项目文件夹名称->
    <Context path="" docBase="htgl" debug="0" reloadable="true"/>
    </Host>
    </Engine>
  </Service>
 
  <!-- ytdz 项目的配置如下 -->
  <Service name="Catalina2">
    <Connector port="8084" protocol="HTTP/1.1" maxThreads="150" minSpareThreads="25"
      maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100"
      debug="0" connectionTimeout="20000" disableUploadTimeout="true"
      URIEncoding="UTF-8"/>
    <Engine name="Catalina4" defaultHost="localhost">
    <Realm className="org.apache.catalina.realm.LockOutRealm">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
       resourceName="UserDatabase"/></Realm>
    <!-- -这里配置webapps2的指向目录->
    <Host name="localhost" appBase="webapps2" unpackWARs="true" autoDeploy="true"> 
    <!-- -这里配置webapps2的目录中ytdz项目文件夹名称->
    <Context path="" docBase="ytdz" debug="0" reloadable="true"/>
    </Host>
    </Engine>
  </Service>
 
3、可以创建文件夹存放项目的快捷指向链接(我的项目配置了链接文件夹)
  在与tomcat齐名的目录下创建 www 文件夹 里面存放两个项目的链接文件夹,分别指向tomcat中 htgl和ytdz目录, 方便nginx vhosts文件夹下conf文件中 root 的 配置。
 
二、nginx 配置如下:
  首先在nginx的conf目录下创建vhosts文件,在文件夹中创建glxt.conf、htgl.conf 、ytdz.conf三个文件
 
1、glxt.conf文件配置如下:
  server {
    listen 80;
    server_name glxt.com www.glxt.com; #是花钱申请的一级域名(这里使用的假的地址)
    charset utf-8;
    root /ytgs/glxt.com ; #这里的路径是静态网站的存放路径
    index index.html index.htm;
    access_log off;
  }
  该文件存放的公司的网站,当时是从电脑上下载的静态网页,配置比较简单 。
 
2、htgl.conf 文件配置如下:
  server {
    listen 80 default;
    server_name htgl.cn www.htgl.cn; #是花钱申请的一级域名(这里使用的假的地址)
    index login;
    root /test/www/htgl; # 创建的快捷链接文件夹,指向tomcat webapps中 htgl项目。
 
    location = /images/kaptcha.jpg { #项目中使用验证码图片地址也需要映射一下
      proxy_pass http://127.0.0.1:8081/images/kaptcha.jpg; #8081对应的 htgl项目的端口号
     }
    location / {
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://127.0.0.1:8081;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
      expires 30d;
      access_log off;
    }
    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
      expires 30d;
      access_log off;
    }
    access_log /test/log/nginx/access/htgl.log;
  }
 
3、ytdz.conf 文件配置如下:(ytdz 与 glxt使用一个域名,不同端口进行监听访问)
  server {
    listen 89; #与glxt 不同端口的配置部分
    server_name glxt.com www.glxt.com;
    index login;
    root /test/www/ytdz; # 创建的快捷链接文件夹,指向tomcat webapps中 ytdz项目。
    location = /images/kaptcha.jpg {
      proxy_pass http://127.0.0.1:8084/images/kaptcha.jpg;
    }
    location / {
      #这里如果不加89 项目登录后,登录到原来80端口映射的网址
      proxy_set_header Host $host:89;
      #这里如果不加89 项目登录后,登录到原来80端口映射的网址
      proxy_set_header X-Real-IP $remote_addr:89; 
      proxy_pass http://127.0.0.1:8084; #8084对应的 ytdz项目的端口号
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
      expires 30d;
      access_log off;
    }
    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
      expires 30d;
      access_log off;
    }
    access_log /test/log/nginx/access/ytdz.log;
  }
 
4、最后:配置完conf文件后,需要在nginx的conf文件夹下的nginx.conf进行修改,在最后面加一句:
  include /test/server/nginx/conf/vhosts/*.conf;
 
配置完毕后重启tomcat,然后重启nginx。
配置一级目录的项目直接访问一级目录,ytdz项目需要访问 glxt.com:89
 
 
posted @ 2016-12-06 13:19  佛曰淡定  阅读(272)  评论(0)    收藏  举报