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
& d  o  A5 [0 B6 w2. 找到 # 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 設定稍微麻煩一點
& h/ }5 q# x8 v. s3. 重啟 Apache 才生效# V8 _; R3 _& _2 v
    service httpd restart #須以root身分   --->搞定4 }; Y% o" p9 T# f1 R, N, L
   註: service httpd start  #啟動        

: p3 B6 X/ L6 a/ A6 _$ V" _# n        service httpd start  #停止
* @* @% U) A; s) |方法二
' g8 M6 [$ K- [5 V在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)" g/ J* Z! e6 y! }: J
例如: 5 U" q, b3 `  U" S& m# l
virtual1.conf
* E1 F8 o8 b( H0 D0 K
  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

1 x% d2 x. m# T/ r
  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

+ d5 h8 P4 o7 M+ n. c7 S% ~但是出現 error:# W/ {: |7 q5 M
[warn] _default_ VirtualHost overlap on port 80, the first has precedence! x: p& r3 p9 g$ [. g) c9 A
SOL:
+ ]. P( h4 T1 K( n由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:% i; K. P2 o  W( T; v
httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
0 _0 o6 L0 j% bhttpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者
$ _3 d" O6 n! t- @httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>. D* H# I+ d7 N- a9 M4 B
: I9 n* |8 l! ]; E$ V/ H8 g) z  K
0 S8 ^; u# S/ V/ K( J% ^8 g: W

. {0 Y- k3 E4 t; b




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