CentOS系統Apache虛擬機器主機配置詳解

來源:互聯網
上載者:User

NameVirtualHost *:80  

注意一:NameVirtualHost 指定虛擬機器主機所使用的IP地址或網域名稱,但是最好是IP地址。使用基於網域名稱的虛擬機器主機時,NameVirtualHost是必要的指令。NameVirtualHost可以定義多個。

注意二:所有符合NameVirtualHost或<VirtualHost>標籤定義的請求,都會被作為虛擬機器主機處理,而主伺服器將不理 會。NameVirtualHost定義了而<VirtualHost>標籤沒有定義的的請求,伺服器會找不到相應的虛擬機器主機而將無法處理。 所以每個NameVirtualHost定義的參數至少要有一個<VirtualHost>相匹配。

注意三:如果設定NameVirtualHost 或<VirtualHost>為*:80的話,所有針對80連接埠的請求,都會被虛擬機器主機處理,請求會根據網域名稱指向某個虛擬機器主機。如果有來自 80連接埠的請求,而所請求的網域名稱沒有被配置為虛擬機器主機,那將指向第一個虛擬機器主機。這樣主伺服器將無法收到來自80連接埠的任何請求。為此也要為主伺服器配置 一個虛擬機器主機。

比如我們以IP192.168.0.3配置兩個虛擬機器主機。
首先編輯 /etc/httpd/conf/httpd.conf設定檔

vi /etc/httpd/conf/httpd.conf

然後添加如下代碼至檔案底部:

NameVirtualHost 192.168.0.3
<virtualhost 192.168.0.3>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/website2
ServerName www.website2.com
ErrorLog /var/www/html/website2/logs/error_log
TransferLog /var/www/html/website2/logs/access_log
</virtualhost>
<virtualhost 192.168.0.3>
ServerAdmin admin@website3.com
DocumentRoot /var/www/html/website3
ServerName www.website3.com
ErrorLog /var/www/html/website3/logs/error_log
TransferLog /var/www/html/website3/logs/access_log
</virtualhost>

如果你有多個IP,則繼續按以上代碼添加,只需要修改192.168.0.3成你的IP即可。

讓伺服器支援多個網站,針對Apache,只需要你修改apache設定檔/etc/httpd/conf/httpd.conf即可。
裡面有個example檔案,你只要對應配置即可。


#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHos>


你可以參照我的配置,在httpd.conf最底部添加:


NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html
ServerName www.111cn.net
#ErrorLog /var/log/httpd/phpddt/error_log
#注意,這裡我設定了以天為單位生產日誌
ErrorLog "|rotatelogs /var/log/httpd/phpddt/error_log%Y_%m_%d.log 86400 480"
#CustomLog /var/log/httpd/phpddt/access_log common
CustomLog "|rotatelogs /var/log/httpd/phpddt/access_log%Y_%m_%d.log 86400 480" common
</VirtualHost>


<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/blog
ServerName m.111cn.net
ErrorLog /var/log/httpd/blog/error_log
CustomLog /var/log/httpd/blog/access_log common
</VirtualHost>


如上我配置了兩台虛擬機器主機:網域名稱分別為www.111cn.net  m.111cn.net
注意,重啟apache後才生效(service httpd restart)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.