2017-09-17 265 views
0

似乎有很多不同的衝突方式做事情,所以我有點困惑,需要一些幫助。 我有幾個網站在不同的端口上運行在我的服務器上。 我在8085端口上有一個項目管理站點,在3000上有一個儀表板,等等。 我想爲每個端口創建子域,我希望能夠使用nginx而不是屏蔽來實現。使用nginx和Namecheap設置子域名

現在我有一個DNS A記錄指向我的IP地址,並且它成功顯示「Welcome to nginx!」頁。 我該如何做到這一點,如果我訪問這個頁面,比如說projects.url.com,nginx會將代理傳遞給http://localhost:8085,並且正確的url會繼續顯示在瀏覽器中?

感謝您的幫助!

這是我目前的網站文件片段,它似乎並沒有這樣的伎倆:

server { 
listen 80; 
server_name projects.calben.xyz www.projects.calben.xyz; 
location/{ 
    proxy_pass http://localhost:8085/; 
} 
} 

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 

    root /var/www/html; 

    index index.html index.htm index.nginx-debian.html; 

    server_name _; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 
} 

回答

1

首先建立一個通配符子域名指向你的服務器IP。或者,如果你想要,你可以設置你想要的特定子域名。

https://www.namecheap.com/support/knowledgebase/article.aspx/597/2237/how-can-i-set-up-a-catchall-wildcard-subdomain

假設你已經有一個CONFIGS nginx的保持在/etc/nginx/sites-available

您將備份並刪除/etc/nginx/sites-available/default.conf。然後,您將添加文件,您的子域名

sub.example.com.conf

server { 
    listen 80; 
    server_name sub.example.com; 

    location/{ 
     proxy_pass http://127.0.0.1:8085; 
    } 
} 

然後符號鏈接/etc/nginx/sites-enabled/sub.example.com.conf這個文件並重新啓動nginx的。現在你的網站應該可以在http://sub.example.com

+0

我添加了我當前的nginx設置。你可以看看它,看看它有什麼問題嗎?謝謝! – calben

+0

你正在得到什麼錯誤? –

+0

沒有錯誤,但是當我試圖訪問projects.calben.xyz時,我被提供了默認的nginx頁面。 – calben