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. P6 ~8 q* O$ 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 設定稍微麻煩一點
2 e/ o( Q) @+ ?  V$ ^3. 重啟 Apache 才生效5 C& i+ L4 K1 t+ C
    service httpd restart #須以root身分   --->搞定# m6 _7 j! l' W3 q$ t
   註: service httpd start  #啟動        

4 J$ D8 w' K0 B% G4 ?2 J        service httpd start  #停止4 B9 Q  i8 j  z6 k. m2 Z* P
方法二! G: V, S" H8 H9 |
在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)! P: O' a) R$ P8 j/ W8 T
例如: ! d4 W( @$ U9 r0 w& k( [  f
virtual1.conf! c$ L7 k/ u0 Q$ h
  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

) D$ n/ J) p' r* 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

# J; }1 A; V) ~" e) o但是出現 error:) P# b4 J) ~6 j  s4 S
[warn] _default_ VirtualHost overlap on port 80, the first has precedence7 g9 @$ f0 Z. T  k
SOL:; J! B  J  V/ o( |
由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:" i+ C8 L+ |+ W2 Q9 P/ @5 G
httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
5 X' o! ?( Z8 Ehttpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者 + M: _: f0 I6 L2 R  k1 T& e1 C/ w4 U
httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
5 ^2 D9 K& K) m- B
8 f" e4 b1 w% |

2 y- y* f9 A  t* x* U
. N6 T1 t8 |  S9 }  ?; [





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