在做畢業設計的時候由於想將工作目錄與畢業設計的目錄分離,所以有此需求:
下面兩種方法是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及實現多站點
更改第一個站點的根目錄:在文件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