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.conf6 w) `8 @1 H  S% i+ Y0 t/ U
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 [email protected]
  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 [email protected]
  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 設定稍微麻煩一點
8 t1 d1 D! e! b0 M5 `+ d3. 重啟 Apache 才生效' o& M. l) ~* x$ W1 r  X
    service httpd restart #須以root身分   --->搞定) j7 [- h0 H+ c  i/ F! W2 A
   註: service httpd start  #啟動        

- q8 X% C* X" ?. p, Z) H$ S2 Z        service httpd start  #停止
  J7 O( a) Q1 C( |  U. b$ |( M方法二
, _) `4 G" q: R; M5 e" S5 t在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host). E( [0 K" n/ @, C7 i( v' ~, m# f
例如: 1 d2 H8 p2 h+ W% i! D1 y7 D8 J
virtual1.conf( w7 d( e6 O0 Q+ M- z* T
  1. <VirtualHost 192.168.1.12:80>  #或 <VirtualHost 127.0.0.1:80>  #符號為註解
  2.     ServerAdmin [email protected]
  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

' q! G0 K: y- i1 I" m: I
  1. <VirtualHost 192.168.1.12:80>
  2.     ServerAdmin [email protected]
  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
: v4 |7 Q/ p! \
但是出現 error:# K7 h4 W6 X  q( H, Q7 w: \
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
1 f8 p6 N! q6 o% j; s8 |7 ?SOL:$ Y9 K5 ?& L+ M9 N! r! Y/ O4 f
由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:* B" j0 F" M" v# r% l
httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即# p4 E+ U3 m, m
httpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者
2 t( G6 ?! @/ e! Ihttpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>) I# \+ |4 ~2 C  o

6 E: B) z- {; W( c+ X* ]
- v" @- Q1 g+ b0 t8 K( C' {

3 q' X% v* i0 q4 _; y/ m




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