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
/ p( a. i0 H+ t0 O2. 找到 # 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 設定稍微麻煩一點
1 o& l" z* O2 i  F( g8 |3. 重啟 Apache 才生效$ b; ~2 j9 {  T; ~0 ]) V( j
    service httpd restart #須以root身分   --->搞定, i: O1 ]# Y+ r: }, a" U
   註: service httpd start  #啟動        
' ]$ i( h) j( s
        service httpd start  #停止
2 T  _/ \, e. n7 T  p6 [方法二
+ b: w/ [) f; c# d在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)7 }( B: E; f) J+ l* e
例如:
/ L0 |- V/ G( Gvirtual1.conf; m+ T. Z# D+ X) {3 d: q
  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
0 _7 J) M) ~# h4 [5 ~8 U% W( f, J
  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
+ R. r( [' Q' \$ V/ C
但是出現 error:
/ J% ^" v. r! s, A [warn] _default_ VirtualHost overlap on port 80, the first has precedence
& L' G7 P: B7 R( e' |SOL:
) M8 z, d( |" I5 B$ B; Y) l由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
% X7 V/ R# _% G9 G0 P" D' D& c. ]httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即" r) F# n9 k( a: `" c; b, S
httpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者
) |/ i. k- B; ~% s) W/ Chttpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
* \' H; P7 C# W2 h. T
, X# d/ q& s( y# t; T5 {

; m) N/ @! o  x
  M6 L. s* V1 a





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