1. 程式人生 > >nginx+tomcat 配置不同二級域名訪問tomcat中的對應專案

nginx+tomcat 配置不同二級域名訪問tomcat中的對應專案

先修改tomcat的配置
1、找到tomcat的安裝目錄,進入config目錄。開啟server.xml
這裡寫圖片描述

2、編輯裡面的內容
找到host節點。複製host節點並且編輯裡面的內容:

      <Host name="專案訪問的網址"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="專案訪問的絕對目錄" path=""/> 

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
<!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <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>

*注意:專案訪問的網址為你的二級域名。比如 a.erjiyuin.com
專案訪問的絕對目錄示例: /usr/local/tomcat8/apache-tomcat-8.5.29/webapps/你的專案資料夾

這裡有多少個二級域名,就複製多少個host節點,並且像上面一樣編輯2個地方即可。
這裡寫圖片描述
我弄好的效果圖如上:我配置了2個節點。
儲存檔案,然後重啟tomcat

重啟完成後可以先驗證一下:訪問對應的二級域名,這時候如果nginx沒設定過的話,直接訪問二級域名應該會顯示nginx的歡迎頁,我們可以先加上8080埠訪問自己的 tomcat的配置成功了沒有。

以上的tomcat如果配置好了之後,訪問還需要加8080埠,這不是我們想要的效果
那現在就可以開始nginx的設定了:

先找到nginx的安裝目錄,也是進入到config資料夾下的配置檔案
這裡寫圖片描述

在配置檔案中,需要把nginx代理到tomcat去。就可以了省略8080埠了

修改代理的方法很多,主要是新增一個server的監聽。找到server的區域,複製一份以做修改,以下是我的:

    server {
        listen       80;
        server_name  你的二級域名;

        #charset koi8-r;


        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass   你的二級域名:8080/;

        }
    }

server的配置和tomcat的一樣,有多少個二級域名就新增多少次server

記得是複製一份,新增在原有的server下面,然後重啟一次nginx。

重啟之前,先驗證一下nginx的配置檔案修改正確沒有:

進入nginx安裝目錄sbin下,輸入命令./nginx -t

看到如下顯示
nginx.conf syntax is ok
nginx.conf test is successful
說明配置檔案正確!

然後就是重啟nginx

進入nginx可執行目錄sbin下,輸入命令./nginx -s reload 即可

然後在訪問二級域名,發現不加8080埠也可以通過二級域名訪問對應的專案檔案目錄了