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# P5 b6 A) v9 y, W' Y5 ~" S' k
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 設定稍微麻煩一點. Y$ g0 q# Z& F! y" y6 V
3. 重啟 Apache 才生效  a6 o6 \6 Q6 w/ q$ P' p
    service httpd restart #須以root身分   --->搞定
+ ?& w4 ^, q% @2 y8 _   註: service httpd start  #啟動        

' A6 ~2 ?  \. S( \2 A        service httpd start  #停止) n0 Z5 d0 V) y8 O
方法二* ^& o, K' \! d) d5 B
在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)
* q" s2 U% ~( \, ]例如: ; j% R) R. W- S! o4 _
virtual1.conf
5 L) J( d$ v0 q7 K4 U
  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

7 ?: m9 x6 Z& R( Q( e
  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

/ \# B2 ^; r  B$ @- J: {但是出現 error:" m  Q% S: T- F: _; s# K
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
- B! ~; j7 w, [) K) L+ ^: z9 c$ USOL:9 z2 {" Y1 I! j1 X7 Y+ Y
由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
7 a9 P( c# f: P( ohttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即2 c1 e; I* g" K  k3 y$ l3 L
httpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者 6 Q8 E' V1 j" }+ P( p
httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>2 c& C- t6 O  Q
! ^5 C0 {9 F: U0 P6 G, _4 x7 t

  p% ]/ T& n" [- d8 z4 K& _

: \2 V/ F+ @- _7 j: w' u. }1 [8 I




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