|
tid=1&我的環境是 <Linux CENTOS 6 + Apache + mysql> 〖方法一〗 1. vi /etc/httpd/httpd.conf |. c2 s: j1 F/ W2 t
2. 找到 # VirtualHost example:1 d* C4 r6 m! R) w! u0 V
- 其下加入你的virtual server 設定,例如:
" C: ^/ l; H, Q+ P9 E& s - #2014/10/02 add4 h* ?" W5 F. O9 ~7 x3 [
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解
6 X; I: P- g3 Z" @4 Q& N( b5 @: D+ ?$ V - ServerAdmin root@av4u.com
2 ?4 g* g0 t8 F4 q9 y - DocumentRoot /home/coav4u/public_html
- `5 z6 e J6 [3 s& L, {3 T! } - ServerName av4u.co
) S3 v. x/ u* @, V - ErrorLog logs/www.av4u.co-error_log
) u* Q4 U m, T4 _" s X - CustomLog logs/www.av4u.co-access_log common/ L5 @# q4 ?8 e6 J1 i
- </VirtualHost>% _ v! G4 l6 |& \3 ~
- <VirtualHost 192.168.1.12:80>
7 E* ~4 g' [, v o+ I$ a% K# {4 I - ServerAdmin root@av4u.com
& ~ K! {5 u) o/ b5 v- q - DocumentRoot /home/coav4u/public_html; z3 F2 Z- U' @* x8 ]' r
- ServerName www.av4u.co
' j. } g" c' V& }* ?! Y - ErrorLog logs/www.av4u.co-error_log8 _9 J8 H( ]/ s) _* b4 J, i
- CustomLog logs/www.av4u.co-access_log common
5 @* A' G+ u8 j0 B8 g. w - </VirtualHost>
複製代碼 可同時指定2個 Domain name (av4u.com及www.av4u.com)到同一個虛擬空間,這個部分似乎比 nginx 設定稍微麻煩一點6 U$ w: }6 X1 [0 h/ m
3. 重啟 Apache 才生效
, W% ^* U/ M, z1 Q service httpd restart #須以root身分 --->搞定
4 X. W7 D! X' O0 w& x7 f1 b 註: service httpd start #啟動
. E& r; v! B/ [4 C. s+ m" R+ T service httpd start #停止
3 O. r# K- T2 x# J0 l3 d/ s L〖方法二〗
& R) ?0 ]. }8 [0 g' Q( v' z在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)/ R* y2 R1 m% c# o) P0 J
例如:
' O- [. ?, b1 w; Fvirtual1.conf
. L" t9 p" O! g; E9 U- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解
& F$ A- X# T! A) R - ServerAdmin root@av4u.com+ i8 Y% [# S9 p H
- DocumentRoot /home/coav4u/public_html+ t3 l4 p7 ~2 e) e
- ServerName av4u.co8 \9 J3 t$ O% }1 c X N6 q
- ErrorLog logs/www.av4u.co-error_log7 q2 L! M2 Q! y% e
- CustomLog logs/www.av4u.co-access_log common, l) P/ |; J6 a1 @
- </VirtualHost>
複製代碼 virtual2.conf9 }6 A3 `& O6 a2 R" ^9 v
- <VirtualHost 192.168.1.12:80>
2 q9 P: P/ \# L' R1 s - ServerAdmin root@av4u.com
0 B, C3 m1 l0 M5 a9 S# ]5 B/ e - DocumentRoot /home/coav4u/public_html0 T- y2 H0 s4 p+ X3 _& e
- ServerName www.av4u.co
$ k# v: X5 r0 W - ErrorLog logs/www.av4u.co-error_log2 }: B! X( y4 V8 P/ p8 p
- CustomLog logs/www.av4u.co-access_log common
* O6 V; S8 G6 y. ^ - </VirtualHost>
複製代碼 存檔然後重啟 httpd
0 A% ~- @" E1 V. ], d但是出現 error:6 y! [. v, q% ]0 I. t
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
- s/ w1 t, _, E" R$ L) h6 ZSOL:2 R1 _! D; e& w7 S
由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
. c6 K' C& [1 _; ]$ q7 F4 S* P& d4 hhttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即: r6 w0 }; O* i! v& w. `' ~; G
httpd.conf ===> NameVirtualHost *:80 , virtual1.conf及virtual2.conf ===> <VirtualHost *:80> 或者 8 p2 n& K( |5 j4 P5 |+ w
httpd.conf ===> NameVirtualHost 192.168.1.12:80 , virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
8 [2 j" E, K+ i7 U3 {4 _6 i
4 s5 n B6 ^" c. ^3 a$ m# D& J% s2 X+ A+ P
% c0 n& |. @4 a* n) a. O |