對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2018/12/21 10:29:20
Nginx Virtual Host 設定教學
最近剛好有網友詢問 Nginx Virtual Host 相關設定,那我就直接記錄一下設定方式。Virtual Host 主要的作用在於使用同一台 HTTP Server 架設多個站台,其實就是市面上常見的「虛擬主機」。技術上是透過多重 Domain Name 指向同一個 IP 來達成,然而對於 HTTP Server 則會透過 HTTP Request Header 中的 Host 來識別要派送到那一台機器,封包如下:
Nginx 設定 Virtual Host 的方式蠻簡單的,我們依照 Ubuntu 慣例將設定檔放在 /etc/nginx/sites-available/ 目錄中,再將設定檔案透過 ln 建立 link 到 /etc/nginx/sites-enabled/。如果是 RedHat, CentOS 設定檔案直接在 /etc/nginx/conf.d/ 即可。我們先規劃兩個站台分別為 vh1.toright.com 與 vh2.toright.com。設定檔如下:
/etc/nginx/sites-enabled/vh-1
1 2 3 4 5 6 7 8 9 10 11 12 | server { listen 80 ; root / var / www / html / vh1 ; index index . html index . htm ; server_name vh1 . toright . com ; location / { try _files $ uri $ uri / = 404 ; } } |
/etc/nginx/sites-enabled/vh-2
1 2 3 4 5 6 7 8 9 10 11 12 13 | server { listen 80 ; root / var / www / html / vh2 ; index index . html index . htm ; server_name vh2 . toright . com ; location / { try _files $ uri $ uri / = 404 ; } } |
建立好設定檔後透過以下命令重新啟動 nginx
sudo service nginx restart
查一下我們要測試的 Domain 是指向同一個 IP Address,如下:
然後開啟瀏覽器分別進入這兩個網域:
成功囉,下次見!
原文出處:Nginx Virtual Host 設定教學 - Soul & Shell Blog