Nginx+;Tomcat虚拟主机

Nginx+;Tomcat虚拟主机,tomcat,nginx,Tomcat,Nginx,我需要将Nginx配置为Tomcat的反向代理。问题是,当我试图通过子域(myapp.domain.com)访问web应用程序时,在这种情况下显示的是Tomcat webapps root,而不是myapp Nginx conf server { listen 80; root /usr/share/tomcat/webapps/myapp; index index.php index.html index.htm; access_log off;

我需要将Nginx配置为Tomcat的反向代理。问题是,当我试图通过子域(myapp.domain.com)访问web应用程序时,在这种情况下显示的是Tomcat webapps root,而不是myapp

Nginx conf

server {
    listen 80;

    root /usr/share/tomcat/webapps/myapp;
    index index.php index.html index.htm;

    access_log off;

    server_name myapp.domain.com;

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
      proxy_pass http://127.0.0.1:8181;
    }
}

尝试在Tomcat的
server.xml
标记内添加这一行:

<Context path="" docBase="myapp" debug="0" reloadable="true" />


然后重新启动Tomcat。

它可以工作,但在尝试访问根目录时也会加载“myapp”,例如,其他应用也可以加载,谢谢David:)我应该如何避免默认加载“始终”myapp?最好仅在请求时加载它。谢谢加载
http://SERVER-IP:8181
?空白页?重定向到其他地方?很抱歉,我不明白问题是什么。加载时应该加载webapps根目录,因此是默认的Tomcat页面。加载myapp.domain.com时应该加载抱歉,我不知道怎么做,也许其他人会知道。David的回答部分解决了问题,因为这样myapp就变成了defaut应用程序,即使没有直接请求,也会加载。