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://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目录

你可能感兴趣的:(Server)