如何在CentOS 6上設置nginx虛擬主機(Server塊)

原創官網:
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

我們可以向文件中添加一些文本,以便我們可以查看網站何時重定向到虛擬主機。

&lthtml&gt
  &lthead&gt
    &lttitle>www.example.com&lt/title&gt
  &lt/head&gt
  &ltbody&gt
    &lth1>Success: You Have Set Up a Virtual Host&lt/h1&gt
  &lt/body&gt
&lt/html&gt

保存並退出

第四步設置虛擬主機

下一步是進入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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章