1. 程式人生 > >Nginx+Tomcat實現不同專案域名對映配置(超詳細)

Nginx+Tomcat實現不同專案域名對映配置(超詳細)

1.域名:先解析一個域名對應固定伺服器IP,例域名:www.csdnTest.com對映伺服器IP:116.110.78.120

2.本機主機:在伺服器(116.110.78.120)上編輯本機主機配置檔案,命令:vi  /etc/hosts,在"127.0.0.1 localhost"下增加主機記錄,例:127.0.0.1 csdnTest

3.Nginx配置:在nginx安裝目錄/conf/nginx.conf檔案末尾新增include vhost/*.conf,然後再nginx安裝目錄/conf/vhost目錄下建立檔案例:csdnTest.conf,內容如下:


4.Tomcat配置:編輯tomcat安裝目錄/conf/server.xml

,新增虛擬主機記錄,如下圖:


綜上,域名www.csndTest.com對映到指定專案,其中nginx負責把www.csndTest.com反向代理為本地請求csndTest:8080,即為Tomcat所管理,然後Tomcat通過虛擬主機,指向所需專案。

附上面2張圖程式碼:

server {
        listen       80;
        server_name www.csdnTest.com;
        index  index.html index.jsp index.htm;

        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.jsp$ {
                proxy_pass http://csdnTest:8080;
                include naproxy.conf;
        }
        location ~ /\.ht {
                deny  all;
        }
        location / {
                try_files $uri @tomcat;
        }
        location @tomcat {
                 proxy_pass http://csdnTest:8080;
                 include naproxy.conf;
        }
        access_log /www/wdlinux/nginx-1.8.1/logs/cdsnTest_access.log;
        error_log /www/wdlinux/nginx-1.8.1/logs/cdsnTest_error.log;
}
<Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>

      <Host name="csdnTest" appBase="webapps2" unpackWARs="true" autoDeploy="true" xmlValidation="false"
        xmlNamespaceAware="false">
        <Context path="" reloadable="true" docBase="/usr/local/java/tomcat7/webapps2/ROOT"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
          prefix="lagmp_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>