如何在Ubuntu 16.04上的Nginx建立子網域

前言

此篇文章是接續上一篇的更進一步的教學,請先完成此篇文章之後,再來操作這篇的教學。

建立子網域

在建立子網域之前,事先要有一個網域名稱並將此網域指向到指定的IP位址。

並在DNS託管的網站上面新增一筆DNS紀錄,範例如下:


sub.test.com. 1800 IN A 123.345.234.4

其中,子網域名稱sub.test.com是自己要輸入的,這邊只是一個示意圖供本次的教學做例子。

新增完成之後,接著要為這個子網域建造一個新的路徑(website root)

也就是網站的根目錄的意思。接著按照下面的方式,為子網域產生一個對應的設定檔。


sudo vim /etc/nginx/sites-available/sub.test.com

其設定檔的範例內容如下:


server {
listen 80;

root /var/www/sub.test.com;
index index.html index.htm index.nginx-debian.html;

server_name sub.test.com www.sub.test.com;

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

其中,root指的是website root網站進入的根目錄,而server_name則是自己指定的子網域。

記得為子網域建立:web root目錄!


sudo mkdir /var/www/sub.test.com

當設定完成以後,可以將上述的設定檔用捷徑連結的方式指到sites-enabled目錄下。

輸入下面的指令即可達成:


sudo ln -s /etc/nginx/sites-available/sub.test.com /etc/nginx/sites-enabled/sub.test.com

當上面的設定都完成以後,重啟Nginx服務,即可完成子網域的設定了!


sudo service nginx restart

下一篇文章,則要使用Let’s encrypt所提供的certbot來安裝我們的SSL憑證,讓Nginx有一個合法有效的憑證並可以透過HTTPS來進行網站的連線。

參考資料

  1. How to create subdomain with nginx server in the same droplet