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.conf8 i/ Y( e8 j. h! A6 z! e
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 設定稍微麻煩一點" T3 i- U# I# J/ `# b" S
3. 重啟 Apache 才生效
% n- W, K: g9 T% M7 ^, Y$ K    service httpd restart #須以root身分   --->搞定
! h0 C  z, C: C   註: service httpd start  #啟動        
+ A" f! g, d5 z1 W
        service httpd start  #停止
; c) {: X: p+ G3 d; i: P+ ~4 S9 h方法二
9 V. Z; Y% w. h3 ~7 B在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)
* D1 l3 y8 c4 x  B( E0 ~5 g7 ^2 n1 c例如: & L& r: g/ ]1 w% y
virtual1.conf
$ K* l# \( m2 _- w: r: x6 y
  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

: ?5 h+ M3 d& A9 r+ P
  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

" u0 N7 A) l0 _) D% d* s但是出現 error:
/ l. Y; F) c, n8 a [warn] _default_ VirtualHost overlap on port 80, the first has precedence. t1 _: u/ V) ^7 f: M
SOL:
8 T2 |3 H' Z$ k# [* w' q$ g4 j由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
% ~, c3 A  L- j; m+ b5 A8 {, h! Ohttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
" [' t0 w5 @  U7 a) ?$ g, whttpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者   E7 m$ n8 o0 X. v3 o8 [
httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
# q& h3 Q  `* {( L8 ^8 h
6 E& A& R( i# w# f

3 S, y; z6 }. v5 ?

8 Q% n5 ^/ B; c6 r" q$ o




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