1. 程式人生 > >tomcat+nginx單獨域名部署和域名+專案名部署

tomcat+nginx單獨域名部署和域名+專案名部署

一直以來都是域名+專案名進行專案訪問,突然之間要用單獨域名訪問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://domain
Server; 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目錄