如何使用 Apache 在本地配置出多個虛擬主機呢?而且使用不同的“域名”來訪問本地不同的站點呢?
一般情況下,咱們都使用 localhost 來訪問本機上的服務(wù)器,在我們的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默認有一個:
127.0.0.1 localhost
當我們在瀏覽器地址欄鍵入:
http://localhost
的時候,會顯示出服務(wù)器根目錄中的許多文件夾(若你的根目錄不是只有一個站點的話),就像:
Index of /
* BAK/
* B_Discuz/
* B_Supesite/
* B_UCenter/
* B_Uchome/
* B_Uchome_Bak/
* B_XSpace/
* DiscuZ_X1/
* Javascript/
* NewUch/
* PHP/
* UchUtf8/
* Zend Framework_1.10.8/
* Zendphpweb20/
* mycms/
* phpMyAdmin/
* userAdminManager/
現(xiàn)在我想通過一個自定義的“域名”來訪問我的根目錄中的站點,譬如:
1,根目錄中有一個 phpMyAdmin/ 的文件夾(倒數(shù)第二個),它是一個網(wǎng)頁版的數(shù)據(jù)庫管理系統(tǒng)(肯定不會陌生的吧?。?,我想通過訪問一個簡單的:
http://dbmanager
來進入這個系統(tǒng)(而不用輸入 localhost,再點擊 phpMyAdmin/ 才進入);
2,根目錄中有一個 Zendphpweb20/ 的文件夾(倒數(shù)第三個),它只是一個本地應(yīng)用站點,我想通過訪問:
http://phpweb20
來進入這個本地站點;
現(xiàn)在要干些什么呢?跟我來吧!看下面:
1> 修改系統(tǒng)的 hosts 文件:
打開之前說過的系統(tǒng)的 hosts 文件,來給我們的電腦添加兩個“假的”DNS 項,加入代碼:
127.0.0.2 dbmanager
127.0.0.3 phpweb20
這樣,我們的瀏覽器就會將 dbmanager 主機名解析為 127.0.0.2,將 phpweb20 主機名解析為 127.0.0.3。
2> 修改 Apache 配置文件:
在我的本機內(nèi) Apache 的主配置文件在:
D:/usr/local/apache2/conf/httpd.conf
說是修改 Apache 的配置文件,其實只是添加了一些內(nèi)容,因為不想修改 Apache 的主配置文件,所以我們最好在各個站點寫好自己的虛擬主機配置子文件,然后使用 Include 指令將其包含到 Apache 的主配置文件里。
其實在 Apache 的主配置文件的最下方有虛擬主機的配置示例,只不過都被注釋掉了:
# 基于名稱的虛擬主機示例:
#VirtualHost 127.0.0.2:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting1
# ServerName 127.0.0.2
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#/VirtualHost>
#VirtualHost 127.0.0.3:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting2
# ServerName 127.0.0.3
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#/VirtualHost>
#VirtualHost 127.0.0.4:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting3
# ServerName 127.0.0.4
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#/VirtualHost>
在配置文件的最下方添加代碼:
# 包含 dbmanager 虛擬主機配置文件
Include D:/usr/webroot/phpMyAdmin/httpd.conf
# 包含 phpweb20 虛擬主機配置文件
Include D:/usr/webroot/Zendphpweb20/httpd.conf
(我的 localhost 的根目錄為 D:/usr/webroot/)
3> 創(chuàng)建各個虛擬主機的子配置文件:
創(chuàng)建 dbmanager 的配置文件:D:/usr/webroot/phpMyAdmin/httpd.conf
#dbmanager 虛擬主機設(shè)置
VirtualHost 127.0.0.2:80>
ServerName dbmanager
DocumentRoot D:/usr/webroot/phpMyAdmin
Directory D:/usr/webroot/phpMyAdmin>
AllowOverride All
Options All
/Directory>
/VirtualHost>
創(chuàng)建 phpweb20 的配置文件:D:/usr/webroot/Zendphpweb20/httpd.conf
#phpweb20 虛擬主機設(shè)置
VirtualHost 127.0.0.3:80>
ServerName phpweb20
DocumentRoot D:/usr/webroot/Zendphpweb20/htdocs
Directory D:/usr/webroot/Zendphpweb20/htdocs>
AllowOverride All
Options All
/Directory>
#修改 PHP 配置(可選)
php_value include_path .;D:/usr/webroot/Zendphpweb20/include;D:/usr/local/php5/PEAR
php_value magic_quotes_gpc off
php_value register_globals off
/VirtualHost>
各個虛擬主機的配置就看應(yīng)用站點的不同需要了,DocumentRoot 為其根目錄(php_value 是修改此站點的 PHP 運行參數(shù),根據(jù)自己應(yīng)用的需要來寫,這樣就不必修改 PHP 主配置文件)。
4> 重啟 Apache 服務(wù):
這個就不多說了。
完畢!好了,在瀏覽器地址欄輸入分別輸入:
http://dbmanager
http://phpweb20
我們的目的達到了!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Apache,wsgi,django 程序部署配置方法詳解
- 基于Linux搭建Apache網(wǎng)站服務(wù)配置詳解
- Windows下Apache+Tomcat7負載均衡配置方法詳解
- 詳解在Ubuntu上的Apache配置SSL(https證書)的正確姿勢
- 使用 Apache Web 服務(wù)器配置兩個或多個站點的方法
- Apache下ModSecurity的安裝啟用與配置
- CentOS 7中 Apache Web 服務(wù)器安裝配置教程
- 阿里云服務(wù)器apache配置SSL證書成功開啟Https(記錄趟過的各種坑)
- win10 apache配置虛擬主機后localhost無法使用的解決方法