原創官網:
http://www.howtoing.com/how-to-set-up-nginx-virtual-hosts-server-blocks-on-centos-6/
關於虛擬主機
虛擬主機用於從單個虛擬專用服務器運行多個網站或域。注意:根據nginx網站,虛擬主機被稱爲nginx上的Server塊。但是,爲了方便與Apache進行比較,我將在本教程中將它們稱爲虛擬主機。
簡介
確保nginx安裝在您的VPS上。如果不是,你可以快速安裝它的2個步驟。
安裝EPEL存儲庫:
su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
安裝nginx
yum install nginx
第一步 - 創建一個新目錄
創建虛擬主機的第一步是創建一個目錄,我們將保留新網站的信息。
此位置將是以後Nginx虛擬配置文件中的文檔根。通過在代碼行中添加-p,命令會自動生成新目錄的所有父代。
sudo mkdir -p /var/www/example.com/public_html
您需要指定一個實際的DNS許可域或IP地址,以測試虛擬主機是否正在工作。在本教程中,我們將使用example.com作爲正確域名的佔位符。
但是,如果您想使用未經批准的域名來測試該過程,您將在第六步中找到有關如何使其在本地計算機上工作的信息。
第二步 - 授予權限
我們需要將目錄的所有權授予適當的用戶,而不是僅僅保留在根系統上。您可以使用適當的用戶名替換下面的“www”。
sudo chown -R www:www /var/www/example.com/public_html
此外,重要的是要確保每個人都能夠讀取我們的新文件。
sudo chmod 755 /var/www
現在你都完成了權限。
第三步 - 創建頁面
我們需要在我們之前創建的目錄中創建一個名爲index.html的新文件。
sudo vi /var/www/example.com/public_html/index.html
我們可以向文件中添加一些文本,以便我們可以查看網站何時重定向到虛擬主機。
<html> <head> <title>www.example.com</title> </head> <body> <h1>Success: You Have Set Up a Virtual Host</h1> </body> </html>
保存並退出
第四步設置虛擬主機
下一步是進入nginx配置文件本身。
sudo vi /etc/nginx/conf.d/virtual.conf
虛擬主機文件已經在您的虛擬服務器上幾乎完全設置。要完成,只需匹配以下配置,根據需要修改服務器名稱和文件位置:
# # A virtual host using mix of IP-, name-, and port-based configuration # server { listen 80; # listen *:80; server_name example.com; location / { root /var/www/example.com/public_html/; index index.html index.htm; } }
保存並退出。
第五步 - 重新啓動nginx
我們對配置進行了很多更改。重新啓動nginx並使更改可見。
/etc/init.d/nginx restart
可選第六步 - 設置本地主機
如果您使用實際的域或IP地址測試虛擬服務器,則不需要設置本地主機。但是,如果您使用的是不屬於自己的通用域,那麼這將確保在您的計算機上,您可以自定義它。
對於此步驟,請確保您在計算機本身,而不是您的VPS。
要繼續此步驟,您需要知道計算機的管理密碼,否則您將需要使用實際的域名或IP地址來測試虛擬主機。
假設你有管理員權限(通過鍵入su並輸入正確的密碼獲得),這裏是如何設置本地主機。
在本地計算機上,鍵入:
nano /etc/hosts
您可以將本地主機的詳細信息添加到此文件,如下面的示例所示。只要有IP地址和服務器名稱的行存在,指向您的瀏覽器,例如example.com將給您所指定的相應IP地址的所有虛擬主機詳細信息。
# Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost #Virtual Hosts 12.34.56.789 www.example.com
但是,最好在完成後從本地hosts文件夾中刪除這些補充地址,以避免任何未來的混亂。
第七步 - 查看您的虛擬主機在操作
完成虛擬主機的設置後,您可以看到它如何在線。將瀏覽器指向您的域名或IP地址,您應該看到該頁面顯示“成功 - 您已設置虛擬主機”
添加更多虛擬主機
要創建其他虛擬主機,您只需重複上述過程,小心地每次使用適當的新域名設置新的文檔根。然後只需將新的虛擬主機信息複製並粘貼到nginx Config文件中,如下所示
# # A virtual host using mix of IP-, name-, and port-based configuration # server { listen 80; # listen *:80; server_name example.com; location / { root /var/www/example.com/public_html/; index index.html index.htm; } } server { listen 80; # listen *:80; server_name example.org; location / { root /var/www/example.org/public_html/; index index.html index.htm; } }