tomcat+nginx单独域名部署和域名+项目名部署

    xiaoxiao2021-03-25  15

    一直以来都是域名+项目名进行项目访问,突然之间要用单独域名访问tomcat项目不知道如何配置了。 走了一些弯路,特此记录一下。

    独立域名绑定java项目

    例如:project.domain.com

    nginx配置:

    upstream domainServer{ server localhost:9585; } server { listen 80; server_name project.domain.com; index index.html index.htm index.jsp; location / { proxy_pass http://domainServer; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } access_log /home/wwwlogs/project.domain.com_access.log; }

    tomcat中的server.xml配置

    <Host name="localhost" appBase="/chroot/www/domainServer" deployOnStartup ="false" autoDeploy="false" unpackWARs="true"> <Context path="/" docBase="domainServerProject.war" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="catalina." suffix=".log" pattern="common" resolveHosts="false"/> </Host>

    注意这里会在/chroot/www/domainServer下面生成ROOT目录 ,刚开始一直访问不了,但直接加上ROOT就可以访问。以为是目录目录的问题,但后来发现是自己的tomcat和nginx没有重启好的原因。

    域名加项目名访问

    例如:www.domain.com/project

    nginx配置:

    upstream project{ server localhost:9585; } server { listen 80; server_name www.domain.com; index index.html index.htm index.jsp index.php; root /chroot/www; location /project { proxy_pass http://project; } }

    tomcat中的server.xml配置:

    <Host name="localhost" appBase="/chroot/www" deployOnStartup ="false" autoDeploy="false" unpackWARs="true"> <Context path="/project" docBase="project.war" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="catalina." suffix=".log" pattern="common" resolveHosts="false"/> </Host>

    这里会直接将文件部署在/chroot/www/project/目录下面,没有ROOT目录

    转载请注明原文地址: https://ju.6miu.com/read-200144.html

    最新回复(0)