下面兩種方法是google出來的,分別通過配置多ip和多連接埠實現,不是能否用單ip發布多重專案,如有方法請留言,學習一下
1.配置多個ip
簡單的說,開啟httpd.conf 在最後加入如下內容:
<VirtualHost 127.0.0.2:80> DocumentRoot d:/AppServ/www2 ServerName 127.0.0.2:80< irtualHost><Directory "d:/AppServ/www2"> Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all</Directory>
"d:/AppServ/www2"為你的網站存放目錄:重啟apache2以後,你的虛擬機器主機就配置好了,以後就可以通過127.0.0.2,和127.0.0.3進入不同的網站了。
下面為詳細說明分析:
在我們安裝APACHE的時候一般預設的apache的配置是只有一個網站,這樣切換起來很不方便。其實這個問題很好解決,就是把原生apache配置成為虛擬伺服器。但是,網上大多數教程的是教用apache如何配置基於網域名稱的虛擬機器主機的,而在本機調試網站的時候,一般都是用本地ip(127.0.0.1 或localhost)直接存取,沒有用到網域名稱。所以得把apache配置成為基於ip地址的虛擬機器主機。
首先,我們都知道,所有以127打頭的ip地址都應該指向本機,並不只有127.0.0.1,這點大家可以試試。
這樣一來,也就是說本機有足夠多的ip地址供你來開設虛擬機器主機了。
廢話少說,進入正式的配置工作,下面是apache的httpd.conf裡相關配置部分( httpd.conf 位於Apache2.2\conf ):
1、Listen部分,必須直接指定連接埠,不指定ip地址,配置應寫為:
Listen 80
2、不用像基於網域名稱的虛擬機器主機那樣寫“NameVirtualHost”。
3、虛擬機器主機配置段:在httpd.conf 最後加上
<VirtualHost 127.0.0.2:80> DocumentRoot d:/AppServ/www2 ServerName 127.0.0.2:80< irtualHost><VirtualHost 127.0.0.3:80> DocumentRoot d:/AppServ/www3 ServerName 127.0.0.3:80< irtualHost>...
4、然後相應的配置好各個目錄屬性,下面是一個目錄屬性的典型配置:
<Directory "d:/AppServ/www2"> Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all</Directory><Directory"d:/AppServ/www3"> Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all</Directory>
重啟apache2以後,你的虛擬機器主機就配置好了,以後就可以通過127.0.0.1和127.0.0.2,127.0.0.3進入不同的網站了
2.配置多個連接埠
配置Apache及實現多網站
安裝好Apache以後,可以在瀏覽器中輸入http://localhost測試,如果配置正常會顯示It's Working.
更改第一個網站的根目錄:在檔案Apache2.2\conf\httpd.conf中尋找DocumentRoot 屬性,將後面的路徑改為你的主要站台的路徑,如:D:\www\web1
為第二個Apache服務建立設定檔:複製並重新命名httpd.conf為web2.conf(舉個例子而已,也可以叫my.conf等等),修改web2.conf中的Listen8080(原來為80)、ServerName localhost:8080(原來為80)、DocumentRoot"D:/www/web2"
(原來為web1)
添加第二個Apache服務:Apache安裝目錄的
bin子目錄下,使用如下命令將Apache安裝為WindowsNT服務:httpd.exe -k install -n "服務名" -f"d:\apache2.2\conf\web2.conf"
其他的命令:將Apache安裝為Windows NT服務:httpd -k install指定服務的名稱,當你在同一機器上安裝多個Apache服務時,你必須為它們指定不同的名字。httpd -k install -n "服務名"為不同名稱的服務使用不同的設定檔,則安裝時需要指定設定檔:httpd -k install -n "服務名" -f"c:\files\my.conf"如果你使用的是第一個命令,也就是除 -k install外沒有其它命令列參數,那麼被安裝的服務名稱將是:Apache2 ,設定檔將使用conf\httpd.conf。移除一個Apache服務:httpd -k uninstall使用下述命令移除特定名稱的Apache服務:httpd -k uninstall -n "服務名"通常,啟動、重啟、關閉Apache服務的方法是使用 Apache ServiceMonitor工具,另外也可以使用控制台命令:NET START Apache2 和 NET STOP Apache2或者通過Windows服務控制台。在啟動Apache服務之前,你應當使用下面的命令檢查一下設定檔的正確性:httpd -n "服務名" -t你可以通過命令列開關來控制Apache服務。要啟動一個已經安裝的Apache服務,可以使用:httpd -k start要停止一個已經安裝的Apache服務,可以使用:httpd -k stop或httpd -k shutdown要重啟一個運行中的Apache服務,強制它重新讀取設定檔,可以使用:
httpd -k restar