在之前的Appserv教程中,我介紹了AppServ配置與安裝使用教程,Appserv作為PHP內建環境安裝包,可以實作多種功能,配置Appserv實作多站點功能可友善PHP開發團隊實時調試多個PHP網站,有訪友向我提出怎麼使用Appserv配置多站點問題,通過實踐驗證後,我以Appserv教程形式來作下解答。
Appserv配置多站點教程第一步:下載下傳Appserv并安裝
我下載下傳的是Appserv-Win32-2.5.10版本,下載下傳後直接輕按兩下并根據提示安裝即可。
Appserv配置多站點教程第二步:修改Windows系統hosts檔案
我的Appserv安裝環境是WindowsXP,為什麼首先要修改hosts檔案呢?這是因為一般情況下Appserv的安裝調試都是在本機上進行的,當使用Appserv配置多站點時,域名指向都是127.0.0.1,你需要對不同的域名進行映射,否則即便配置完畢也是無法通路的,除非你有公網IP,并通過DNS進行映射。
找到WINDOWS\system32\drivers\etc\hosts檔案并打開,找到127.0.0.1 localhost,并添加需要映射的測試站點域名,比如
1 2 3 | 127.0.0.1 www.leapsoul.cn 127.0.0.1 www.phptest.cn |
儲存hosts檔案
Appserv配置多站點教程第三步:修改Apache配置檔案,啟用虛拟主機配置
在Appserv安裝目錄中找到Apache2.2\conf目錄,打開apache配置檔案httpd.conf,找到# Virtual hosts将
1 | #Include conf/extra/httpd-vhosts.conf |
中的#去除。
由于Appserv配置中Apache配置是以定制方式存在,上述語句代表Apache啟用虛拟主機配置。同時Appserv多站點配置功能是以虛拟主機的方式實作,你可以一并将httpd配置檔案中的
1 | #LoadModule vhost_alias_module modules/mod_vhost_alias.so |
#去除(經過我的測試,其實此Apache Module加不加載沒太大關系)
Appserv配置多站點教程第四步:修改Apache虛拟主機配置
打開conf/extra/httpd-vhosts.conf配置檔案,檔案中本身存在兩條虛拟主機配置記錄,隻要稍作修改即可。
将ServerAdmin(郵件位址)、DocumentRoot(網站根目錄,我設定的目錄為”C:/AppServ/www/wwwleapsoulcn/”和C:/AppServ/www/wwwphptestcn/) 、ServerName(站點域名資訊)、ServerAlias(站點域名别名)配置選項設定為你需要設定的資訊即可。Appserv配置多站點執行個體如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <VirtualHost *:80> ServerAdmin 你的郵箱位址 DocumentRoot "C:/AppServ/www/wwwleapsoulcn/" ServerName leapsoul.cn ServerAlias www.leapsoul.cn ErrorLog "logs/dummy-host.x-error.log" CustomLog "logs/dummy-host.x-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin 你的郵箱位址 DocumentRoot "C:/AppServ/www/wwwphptestcn/" ServerName www.phptest.cn ErrorLog "logs/dummy-host2.x-error.log" CustomLog "logs/dummy-host2.x-access.log" common </VirtualHost> |
Appserv多站點配置提示:如果同時配置多個虛拟主機,務必確定第一條虛拟主機記錄不可缺失ServerAlias選項,否則配置不會成功。
最後儲存conf/extra/httpd-vhosts.conf配置檔案。
重新開機Apache時注意請在CMD模式下通過net start apache2.2或net stop apache2.2方式重新開機Apache。
此時通過IE以域名方式即可通路使用Appserv配置的多個站點了。
上述方法是以域名方式使用Appserv配置多站點通路功能,如果以IP方式也是可以實作此配置功能,差別在于需要使用不同的端口。除了原有的上述httpd.conf配置外,需要再Listen 80語句後,添加需要偵聽的端口,比如
1 2 | Listen 8080 Listen 8081 |
然後将conf/extra/httpd-vhosts.conf配置檔案中的<VirtualHost *:80>修改為<VirtualHost 對應IP:對應偵聽端口>即可,其他配置不變。
最後删除hosts檔案中之前設定的配置,重新開機Apache服務即可。