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
! S+ Y( E# R. T6 Z' V7 Z" U5 W9 V2. 找到 # 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 設定稍微麻煩一點' m+ }* A2 p- Y, Y  m, X( o  z
3. 重啟 Apache 才生效* x+ ]7 Y8 L: T* [( o' q( R
    service httpd restart #須以root身分   --->搞定
- Y+ W6 d$ B+ E( P   註: service httpd start  #啟動        

0 W2 t2 j+ Q1 l$ R& e- v        service httpd start  #停止
9 W& ]1 X9 r7 i% \* r: R2 S% D方法二
* m% Y/ ]1 [9 B7 N在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)8 A: N4 p  q, F2 _& k$ z4 L) _
例如: / J2 @$ P/ J1 Q$ }
virtual1.conf
5 ]9 A7 {2 s1 u- f0 `; C* p
  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
2 Q4 _1 o/ o: U' R
  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

$ u  x  O# J* @; Y. Q2 K* {/ X但是出現 error:
& {9 i1 k! U* {" w$ [ [warn] _default_ VirtualHost overlap on port 80, the first has precedence
! l9 \. A0 {2 D' oSOL:
9 i, y: b  O) A3 [由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
" S' f% r) V. D. j+ d! Jhttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即: Z6 H% @& W+ o& t1 H
httpd.conf ===> NameVirtualHost *:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost *:80>  或者   ~8 A& r0 E6 o* R
httpd.conf ===> NameVirtualHost 192.168.1.12:80  ,  virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
% p' D' ^! |' A) t9 u# X" k$ [/ _6 [1 S6 H
5 M& e7 k; z7 ~9 M8 x4 J5 k

7 Q. @. l  a& a0 m; Q- V  G

0 U1 o8 @; b& F+ R! l$ [




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