2010-09-17

Ubuntu 設定 Nginx 虛擬主機 ( Virtual Host )

其實,要在 Ubuntu 上的 Nginx 新增和設定虛擬主機 ( Virtual Host ) 並不難,因為它的安裝和設定方式幾乎和 Ubuntu 上的 Apache2 一模一樣, Nginx 也和 Apache2 一樣有 sites-available 和 enabled-site 這二個資料夾,用來放虛擬主機的設定檔和啟用連結的, 不一樣的地方只在於虛擬主機設定檔的寫法不同。(假設這次阿舍用建立的虛擬主機為 xyz.arthurtoday.com,放在 /var/www/xyz.arthurtoday.com 資料下 )

credit Bornvirtual.com


1. 建立資料夾
首先要先建立給這個虛擬主機放檔案的資料夾,一般是建立在 /var/www 的裡面 (  Ubuntu 上的 Nginx 的預設資料夾是在 /usr/share/nginx/html )。


sudo mkdir  /var/www/xyz.arthurtoday.com
sudo mkdir /var/www/xyz.arthurtoday.com/logs

sudo chmod -R 755 /var/www/xyz.arthurtoday.com

sudo chown -R www-data:www-data /var/www/xyz.arthurtoday.com


2.建立設定檔
Nginx 有一個預設的設定檔放在/etc/nginx/sites-available 這裡,檔案的名字就叫做 default,你可以直接把它複製更名成新的檔案來用,不過,這個檔要改的東西有點多,阿舍有放一個檔在這裡,可以下載過來,改個檔名,一般來說,都會直接用虛擬主機的網址來當檔名,以阿舍為例,就改成 xyz.arthurtoday.com ,接著只要改下面這些項目就可以了。

server_name xyz.arthurtoday.com; # 這裡要改成虛擬主機的完整主機名稱
root /var/www/xyz.arthurtoday.com; #這裡要改成第一個步驟建立的資料夾路徑

access_log /var/www/xyz.arthurtoday.com/logs/access.log;
error_log /var/www/xyz.arthurtoday.com/logs/error.log;

3.啟用虛擬主機
Nginx 沒有像 Apache 有 a2ensite 這樣的程式來啟用虛擬主機,而是要自己手動把上面建好的設定檔做一個連結在 /etc/nginx/sites-enabled 資料夾裡,操作指令下。

ln -s /etc/nginx/sites-available/xyz.arthurtoday.com /etc/nginx/sites-enabled/xyz.arthurtoday.com

4. 重新啟動 Nginx
最後,只要用下面的指令重啟 Nginx 後,就可以像阿舍用 http://xyz.arthurtoday.com 來開啟新設好的虛擬主機了...

sudo /etc/init.d/nginx restart   ( 用 sudo /etc/init.d/nginx reload 也可以 )



sudo service nginx restart ( 較新版本的 Ubuntu 版本請用此指令 )


推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁