fbpx

Nginx Virtual Host 設定教學


nginx-logo最近剛好有網友詢問 Nginx Virtual Host 相關設定,那我就直接記錄一下設定方式。Virtual Host 主要的作用在於使用同一台 HTTP Server 架設多個站台,其實就是市面上常見的「虛擬主機」。技術上是透過多重 Domain Name 指向同一個 IP 來達成,然而對於 HTTP Server 則會透過 HTTP Request Header 中的 Host 來識別要派送到那一台機器,封包如下:

host-header

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

/etc/nginx/sites-enabled/vh-2

建立好設定檔後透過以下命令重新啟動 nginx

sudo service nginx restart

查一下我們要測試的 Domain 是指向同一個 IP Address,如下:

vh-ip

然後開啟瀏覽器分別進入這兩個網域:

nginx-vh

成功囉,下次見!