2016-12-09 43 views
-1

我有一個域名,例如abc.com和只有一個虛擬機在阿里雲與公共IP 112.70.230.217,但同時我想運行個人博客「鬼」(一個博客項目nodejs)和一個在tomcat上的java web應用程序。所以我爲我的博客創建瞭解析「blog.abc.com」,爲tomcat應用創建瞭解析「blog.abc.com」,爲我的tomcat應用程序需要的靜態資源創建了「res.abc.com」。如何使用nginx通過不同的域名爲nodejs應用程序和apache tomcat應用程序創建代理?

  1. 移動我app.war爲$ CATALINA_HOME/webapps /下ROOT.war並用默認設置(8080端口)Tomcat和啓動Tomcat。

  2. 靜態資源在/數據/資源/ *

  3. 爲 「鬼」 的應用程序,它的默認訪問地址爲localhost:2368。

我的問題是:如何設置的nginx服務器配置這三個域地址鏈接到這三個(#1,#2,#3)

,我不得不嘗試以下設置,但所有三個域地址鏈接到#1

+0

ghost.conf: server { listen 80; server_name blog.abc.com; location/{ proxy_set_header X-Real-IP $ remote_addr; proxy_set_header主機$ http_host; proxy_pass http://127.0.0.1:2368; } } –

+0

app.conf:server { listen 80; server_name app.abc.com; location/{ proxy_set_header X-Real-IP $ remote_addr; proxy_set_header主機$ http_host; proxy_pass http://127.0.0.1:8080; } } server { listen 80; server_name resource.abc.com; location/resoure/{ root/data/resource /; autoindex on; autoindex_exact_size off; autoindex_localtime on; } } –

+0

這兩個文件都包含在nginx.conf中,我可以確認沒有包含額外的服務器塊設置 –

回答

0

它看起來像使用腳本「include/etc/nginx/sites-enabled/*;」在nginx.conf中,/ etc/nginx/sites-enabled /中的新conf文件將覆蓋配置塊。

以此爲例,我在/etc/nginx/ sites-enabled /中有兩個文件a.conf和b.conf,首先nginx會在a.conf中加載服務器塊,然後加載b.conf。當nginx發現有塊定義時,它會覆蓋前一個。我不知道它是否正確,但是當我把conf放在一個文件中時,它會以某種方式工作。

相關問題