如何解决nginx + tomcat设置问题

时间:2018-08-26 14:29:13

标签: java tomcat nginx

我的tomcat中有更多应用程序。每个应用程序使用不同的二级域名。例如:

Access to this URL(http://store.app.cn) is a Store Application.

Access to this URL(http://Coffee.app.cn) is a Coffee Application.

还有一个更复杂的情况。

Access to this URL(http://school.app.cn/store) is a Store Application.

Access to this URL(http://school.app.cn/coffee) is a Coffee Application.

Access to this URL(http://admin.app.cn/store) is a Admin Store Application.

我知道这个设计很糟糕。但这对我来说确实是个问题。

以下是Tomcat的配置文件。

 <Host name="admin.app.cn"  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="yb.app.cn"  appBase="webapps/yb" port="80" protocol="HTTP/1.1"
           connectionTimeout="20000" redirectPort="8443" 
        unpackWARs="true" autoDeploy="true">
       <Context path="/store" docBase="store" debug="0" reloadable="true" />
       <Context path="/coffee" docBase="coffee" debug="0" reloadable="true" />
 </Host>
 <Host name="www.app.cn"  appBase="webapps/www" port="80" protocol="HTTP/1.1"
           connectionTimeout="20000" redirectPort="8443" 
        unpackWARs="true" autoDeploy="true">
       <Context path="/slplat" docBase="slplat" debug="0" reloadable="true" />
       <Context path="/www" docBase="www" debug="0" reloadable="true" />
 </Host>

和端口conf

    <Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"  URIEncoding='GBK'
           acceptCount="500" maxThreads="400"  maxHttpHeaderSize="8192" />

在此基础上,我需要介绍Nginx来配置其他应用程序。

所以,我更改了tomcat端口

    <Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"  URIEncoding='GBK'
           acceptCount="500" maxThreads="400"  maxHttpHeaderSize="8192" />

现在,我只需要更改端口号即可访问上一页。但是公司的请求无法在URL中添加端口,必须部署nginx。

问题:

新应用程序需要Nginx,而旧应用程序不需要Nginx。我有两台 Centos 服务器,一台有域名,一台没有域名。 所有应用程序都需要通过域名访问。旧应用程序通常可以在不更改URL的情况下访问。

换句话说,所有请求都发送到nginx进行处理。然后指定的路径需要由Tomcat处理。

我现在不知道该怎么办...

如何配置Nginx?我可以通过Nginx转发到Tomcat吗?

希望您能帮助我。非常感谢!!!

0 个答案:

没有答案