前提:已完成安装NginxTomcat的环境,详见环境配置

1. 确定项目路径

我的项目路径在/var/local/路径,这是我的项目appBase

在此目录下发布我的不同项目docBase,如/项目名1/项目名2等等

2. 修改Tomcat配置

  • 修改service.xml配置文件,添加Host节点【不用修改端口,使用默认8080,端口配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!-- 保留原有的localhost节点 -->
    <Host name="localhost" 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 &quot;%r&quot; %s %b" />
    </Host>

    <!-- 添加自己的域名节点 -->
    <!-- 文件路径中注意不可使用中文 -->
    <!-- 有几个项目就添加几个节点 -->
    <Host name="我的域名1" appBase="/var/local/路径"
    unpackWARs="true" autoDeploy="true">
    <Context docBase="/var/local/路径/项目名1" path=""/>
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    prefix="localhost_access_log" suffix=".txt"
    pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>

    <Host name="我的域名2" appBase="/var/local/路径"
    unpackWARs="true" autoDeploy="true">
    <Context docBase="/var/local/路径/项目名2" path=""/>
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    prefix="localhost_access_log" suffix=".txt"
    pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>

3. 修改Nginx配置

  • 配置文件路径在/usr/local/webserver/nginx/conf

  • 配置nginx.conf中的service节点,注意原有节点不要动,避免出错,在下方新增或开把原有的一个service放开注释

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    server {
    listen 80;
    server_name domain1;
    location / {
    root html;
    index index.html index.htm;
    proxy_pass http://domain1:8080;
    }
    }

    server {
    listen 80;
    server_name domain2;
    location / {
    root html;
    index index.html index.htm;
    proxy_pass http://domain2:8080;
    }
    }

    注意:这里的proxy_pass就是转发地址,必须写全,否则nginx会报错

到此,配置完成

4. 后续项目变动

  • 注意,当后续有项目内容需要变动时,最好先停止服务器的NginxTomcat服务,待项目变动完成后,重新启动NginxTomcat

4.1 具体顺序

  • 停止项目

    1
    2
    shutdown.sh
    nginx -s quit
  • 进入项目路径

    1
    cd /var/local/项目webapps/项目1docBase/

    然后进行更改,可以git,也可以使用Filezilla等手动更改

  • 重启服务

    1
    2
    startup.sh
    nginx