52AV手機A片王|52AV.ONE

標題: Apache 如何設定多個虛擬伺服器(Virtual Server) [打印本頁]

作者: IT_man    時間: 2014-10-3 10:29
標題: Apache 如何設定多個虛擬伺服器(Virtual Server)
我的環境是  <Linux CENTOS 6 + Apache + mysql>
〖方法一〗
1. vi /etc/httpd/httpd.conf
* B" C$ v" E% c, a2. 找到 # VirtualHost example:
  1. 其下加入你的virtual server 設定,例如:
  2. #2014/10/02 add
  3. <VirtualHost 192.168.1.12:80>  #或 <VirtualHost 127.0.0.1:80>  #符號為註解
  4.     ServerAdmin root@av4u.com
  5.     DocumentRoot /home/coav4u/public_html
  6.     ServerName av4u.co
  7.     ErrorLog logs/www.av4u.co-error_log
  8.     CustomLog logs/www.av4u.co-access_log common
  9. </VirtualHost>
  10. <VirtualHost 192.168.1.12:80>
  11.     ServerAdmin root@av4u.com
  12.     DocumentRoot /home/coav4u/public_html
  13.     ServerName www.av4u.co
  14.     ErrorLog logs/www.av4u.co-error_log
  15.     CustomLog logs/www.av4u.co-access_log common
  16. </VirtualHost>
複製代碼
    可同時指定2個 Domain
name (av4u.com及www.av4u.com)到同一個虛擬空間,這個部分似乎比 nginx 設定稍微麻煩一點0 j9 S" a: ~6 ~5 F6 x
3. 重啟 Apache 才生效  X, X$ \9 a4 i* a2 c6 o
    service httpd restart #須以root身分   --->搞定
9 ~: s" {& E) d. A+ C- U' [/ ?( s   註: service httpd start  #啟動        

4 S7 N1 `/ k# \$ y* y( K* m4 r        service httpd start  #停止
. Y% j* Q$ t) ?% ?* s方法二! Q; b6 B  Z( y8 W  i2 b: x. u4 M
在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)7 F  s* N+ o& D0 R& i$ ~4 j
例如: 6 j. e* k7 p, D# V; B5 D( P
virtual1.conf
7 h  q( M0 N; X: _$ R& B: d/ P
  1. <VirtualHost 192.168.1.12:80>  #或 <VirtualHost 127.0.0.1:80>  #符號為註解
  2.     ServerAdmin root@av4u.com
  3.     DocumentRoot /home/coav4u/public_html
  4.     ServerName av4u.co
  5.     ErrorLog logs/www.av4u.co-error_log
  6.     CustomLog logs/www.av4u.co-access_log common
  7. </VirtualHost>
複製代碼
virtual2.conf

2 n% [0 r3 t& n/ f
  1. <VirtualHost 192.168.1.12:80>
  2.     ServerAdmin root@av4u.com
  3.     DocumentRoot /home/coav4u/public_html
  4.     ServerName www.av4u.co
  5.     ErrorLog logs/www.av4u.co-error_log
  6.     CustomLog logs/www.av4u.co-access_log common
  7. </VirtualHost>
複製代碼
存檔然後重啟 httpd

1 g+ o4 O% F6 ]但是出現 error:
0 ^/ @5 L% v; g/ ?$ J( ~ [warn] _default_ VirtualHost overlap on port 80, the first has precedence
$ ~- p/ M; C( G" ]% @SOL:
( a1 `  D+ q: a7 N2 n" W3 n8 m1 E由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:7 u* B: S! w% f7 W5 |3 v
httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即% P+ T9 T( a# h, {" |- o! W! ~2 x
httpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者 * B+ p( p- g. z8 ~
httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
4 t2 L& U( X9 S1 j

, T7 f0 u% T" M  @' f' X' v2 m, S; x' e% @* {

. P6 J# Y0 c: x: W




歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/) Powered by Discuz! X3.2