Nginx+Tomcat多站点部署的方法

(编辑:jimmy 日期: 2025/1/7 浏览:2)

本文介绍了Nginx+Tomcat多站点部署的方法,分享给大家,具体如下:

Tomcat配置:

添加多域名:

Engine节点下:

添加域名1

<Host name="test1.java.com" appBase="webapps1"
    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" />
 <Context path="" docBase="/var/lib/tomcat8/webapps/test1" debug="0" reloadable="true" crossContext="true" />
 </Host>

添加域名2

<Host name="test1.java.com" appBase="webapps2"
    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" />
  <Context path="" docBase="/var/lib/tomcat8/webapps/manage" debug="0" reloadable="true" crossContext="true" />
 </Host>

注意,还需要一个默认语句,即name="localhost"的域名,否则tomcat偶尔会报空指针错误,导致无法使用

 <Host name="localhost" appBase="webapps0"
    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" />
  <Context path="" docBase="/var/lib/tomcat8/webapps/manage" debug="0" reloadable="true" crossContext="true" />
 </Host>

至此,配置完成,重启tomcat:

sudo /etc/init.d/tomcat8 stop
sudo /etc/init.d/tomcat8 start


sudo /etc/init.d/tomcat8 restart

若域名解析完成,则可在浏览器中进行测试

http://test1.java.com:8080
http://test2.java.com:8080

若正确,则可正常访问

配置Nginx

进入Nginx根目录(以ubuntu 16.04为准)

cd /etc/nginx

进入sites-available目录

cd sites-available

创建配置文件(已test1.java.com为例)

vi test1.java.com

输入配置内容

server{
    listen 80;
    server_name test1.java.com;
    server_name_in_redirect off;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    location / {
        proxy_pass http://test1.java.com:8080;
    }
}

esc后:wq进行保存

创建软连接已进行使用

ln -s /etc/nginx/sites-available/test1.java.com /etc/nginx/sites-enabled/test1.java.com

重启Nginx

/etc/init.d/nginx stop
/etc/init.d/nginx start
或
/etc/init.d/nginx restart

至此 配置完成

还有一些其他的配置方法,比如tomcat可配置为多端口对应多站点,但我配置后发现速度明显变慢,未找到原因,而此配置已经能满足要求,特此记录。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?