一、虛擬主機
虛擬主機是Apache提供的一個功能,通過虛擬主機拉雅在一台服務器上部署多個網站。雖然服務器的IP地址是相同的,但用戶當用戶使用不同的域名訪問時,訪問到的是不同的網站。
下面講解Apache虛擬主機配置,當然,前提是你的CentOS已經安裝並配置好了Apache服務器。
二、搭建虛擬主機
1.創建目錄結構:
首先,我們需要創建一個目錄結構,以保存網站數據,為訪客提供服務。我們的文檔根目錄將被設置為在各個 /var/www/ 目錄中,我們將這里為我們的每個虛擬主機創建一個目錄。
在每個虛擬主機的目錄中,我們將創建一個 public_html 用於存放實際文件。我們可以使用如下命令創建目錄:
sudo mkdir -p /var/www/example.com/public_html
2.授予權限:
現在我們有了文件目錄結構,但是它們是由 root 用戶所擁有的,如果我們希望普通用戶能在我們的網頁目錄修改文件,我們可以改變文件的權限
sudo chown -R $username:$usergroup /var/www/example.com/public_html
此外,還應修改權限以確保允許對一般Web目錄及其中的所有文件和文件夾進行訪問,以便正確提供頁面。
sudo chmod -R 755 /var/www
3.為虛擬主機創建網站主頁:
我們只是要作出網站主頁 index.html 用以確保虛擬主機正確運行,創建一個新的 index.html 文件
vim /var/www/example.com/public_html/index.html
然后寫入代碼,這里我們只創建一個簡單的頁面:
<html> <head> <title>Welcome to example.com ! </title> </head> <body> <h1>Success ! The example.com virtual host is working !</h1> </body> <html>
保存並關閉文件。
4. 創建新的虛擬主機文件:
虛擬主機文件是指定我們單獨站點的配置,並指定 Apache Web 服務器如何響應各種域請求。
首先,我們將創建虛擬主機的存儲目錄,以及告知 Apache 虛擬主機准備好向訪問者提供的目錄。我們將創建兩個目錄,其中 sites-available 目錄將保存我們所有的虛擬主機文件,而 sites-enabled 目錄將舉行符號鏈接。我們可以通過如下 bash 命令創建這兩個目錄:
sudo mkdir /etc/httpd/sites-available sudo mkdir /etc/httpd/sites-enable
然后,我們要 Apache 查找虛擬主機 sites-enable 目錄,為實現這一點,我們將編輯Apache的主配置文件 /etc/httpd/conf/httpd.conf 在文件的末尾添加:
IncludeOptional sites-enable/*.conf
接下來我們就可在存儲目錄中創建我們的擬主機文件了,使用root權限打開新文件:
sudo vim /etc/httpd/sites-available/example.com.conf
然后寫入虛擬主機的配置:
<VirtualHost *:80> #監聽端口為80 ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/pubilc_html ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log combined </VirtualHost>
5.啟用新的虛擬主機:
現在我們已經創建了虛擬主機文件,我們需要啟用他們呢,以便Apache知道將它們提供給訪問者。要做到這一點,我們可以創建一個符號鏈接在每個虛擬主機的sites-enable 目錄:
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enable/example.com.conf
完成后,重新啟動Apache以使這些更改生效:
sudo apachectl restart
6.設置本地主機文件愛(可選):
用於測試虛擬主機的功能,通過修改 /etc/hosts 文件,將所有對 www.example.com 的訪問直接傳遞給我們:
#server_ip_address example.com www.example.com 127.0.0.1 example.com www.example.com
然后測試我們的虛擬主機,在瀏覽器中鍵入 http://www.example.com 順利的話就能打開我們的測試的主頁文件。