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
3 `% q: d9 ?8 H! M, \2. 找到 # 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 設定稍微麻煩一點
2 Q! Q- w. t$ f9 d+ v- u2 u4 C9 p0 J3. 重啟 Apache 才生效2 E' e5 e: u) n) x9 t1 h
    service httpd restart #須以root身分   --->搞定
+ @8 E: ^4 [& |/ N" `# [   註: service httpd start  #啟動        
( i$ ^( x* w& A
        service httpd start  #停止
; g( [. l' s7 r1 h5 ?; T: j+ i方法二
) T3 E: d- `  j: G9 e( k$ r: C7 a! ]在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host). j: D- ?4 E* q+ `* R0 {
例如:
: r" N5 d# b7 S. J+ a( xvirtual1.conf# w+ k5 h8 b0 |7 B
  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

, ^1 V# \: Z; |1 b" n7 I
  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

+ |5 a5 @& Y2 F  ]6 ]但是出現 error:9 P# X- I/ m/ n; X
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
$ x' u- f1 u9 f/ e  O( q. dSOL:
5 c& T2 T: i$ q由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
+ v& n7 m. p' a5 S( b0 whttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
) f0 [/ Q. M1 K+ b: Q% y' Y; Shttpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者 1 ~& u+ U* C9 l6 }1 V$ i+ Y
httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
1 v& j, W2 g7 ~  f- n; B# m8 V& Q
0 X% m" ]: U+ A6 [2 B( I( n

' H0 h) o/ x$ b& \: M
8 V% G1 D4 |) z( {/ d





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