APACHE 多個服務器的配置?
網站目錄:d:www
下設兩個站點:1、D:wwwszbw 2、D:wwwweb
注意前面,要開啟 Vhost 及 vhos 相關 so
<VirtualHost 127.0.0.1:80>
ServerAdmin dl_lj@126.com
DocumentRoot d:/www/szbw
ServerName 域名1
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerAdmin dl_lj@126.com
DocumentRoot d:/www/web
ServerName 域名2
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
這個配置其實是無效的,后面一個VirhualHost設置覆蓋前面設置。
此外需要弄清楚樓主到底所謂多個服務器的配置是指什么?
1.運行多個apache程序實例來實現不同服務?
2.多個站點(虛擬主機服務) ?
--------------
對於1,可apache是允許同時運行多個程序實例的,也就是多個進程,不過他們要有不同的配置文件來對不同的端口進行監聽,實際上很多商業運營的站點為了充分挖掘服務器硬件性能,保證服務的可用性,就有類似的應用;
對於2,請就是前面引文所想表達的方式——設置多個虛擬主機
補充一下,正確的設置多虛擬主機需要這樣:
<VirtualHost IP1或者域名1:端口1>
....
</VirtualHost>
<VirtualHost IP2或者域名2:端口2>
....
</VirtualHost>
<VirtualHost IPn或者域名n:端口n>
....
</VirtualHost>
注意的是這里要使得每個虛擬主機都有效,必須是 <IP或者域名:端口>兩兩之間不完全相同
之所以說 1樓的有問題,就是因為它沒有做到這一點,如果改成
----------------------------------------------
<VirtualHost 127.0.0.1:80>
ServerAdmin dl_lj@126.com
DocumentRoot d:/www/szbw
ServerName 域名1
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 127.0.0.1:8080>
ServerAdmin dl_lj@126.com
DocumentRoot d:/www/web
ServerName 域名2
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
------------------------------------------------
就是正確的啦,這兩個虛擬主機監聽不同的端口
或者
------------------------------
<VirtualHost 127.0.0.1:80>
ServerAdmin dl_lj@126.com
DocumentRoot d:/www/szbw
ServerName 域名1
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 192.168.1.1:80>
ServerAdmin dl_lj@126.com
DocumentRoot d:/www/web
ServerName 域名2
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
---------------------
也是正確的,這時兩個虛擬主機對應不同的IP地址進行監聽