我的環境是 <Linux CENTOS 6 + Apache + mysql> 〖方法一〗 1. vi /etc/httpd/httpd.conf
& D4 r5 h; G. x# d2. 找到 # VirtualHost example:* _! M/ }0 `7 S, r# T
- 其下加入你的virtual server 設定,例如:
0 } d' o; ]/ x6 ]' l2 K$ S- N - #2014/10/02 add* S: X$ A, m6 V( r
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解) i; P# y, G7 F+ [7 w
- ServerAdmin [email protected]
% f3 Z' J2 n+ q6 U# V - DocumentRoot /home/coav4u/public_html% g0 s& c/ m- r% `- w% a
- ServerName av4u.co9 d1 y$ V7 J: z! q( [0 e
- ErrorLog logs/www.av4u.co-error_log
2 n& k# h5 b2 A. K/ w - CustomLog logs/www.av4u.co-access_log common$ E. n' u2 g( O7 P) J( b
- </VirtualHost>
4 t+ r( _9 B" o) H8 n) `- n6 j% _ - <VirtualHost 192.168.1.12:80>- E) H# X, j! _
- ServerAdmin [email protected]5 y/ @ `* b& ]1 i
- DocumentRoot /home/coav4u/public_html
: A' ~2 n+ E+ a. k& g# C* j6 @ - ServerName www.av4u.co
/ g) Z& ?" E8 G4 e: L1 H# c - ErrorLog logs/www.av4u.co-error_log
8 {7 a+ Z8 U: i* d( g - CustomLog logs/www.av4u.co-access_log common
9 Z( i0 d, K! S: j* C8 @. w - </VirtualHost>
複製代碼 可同時指定2個 Domain name (av4u.com及www.av4u.com)到同一個虛擬空間,這個部分似乎比 nginx 設定稍微麻煩一點- ^, U9 A* y! J
3. 重啟 Apache 才生效( a3 |7 k% V- x! @
service httpd restart #須以root身分 --->搞定+ ?3 N0 p2 k+ f, w& S5 n
註: service httpd start #啟動 , F# i1 g c& y
service httpd start #停止% `7 z# C. W& @! \/ [* Q
〖方法二〗
! _% F) f7 U5 N6 f/ U在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)
& V- z; z$ U+ Z$ G' [例如:
3 y' P! {7 `% s1 Cvirtual1.conf
, v' n5 p+ S$ S( s3 v. k- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解/ A" j# A" d/ U2 V
- ServerAdmin [email protected]- p! a- ]1 l: d( G% f# N2 l5 o$ `
- DocumentRoot /home/coav4u/public_html
: L2 Q ]( ]$ ?: h3 e% X# F - ServerName av4u.co
. K4 t" J* \/ K1 G! p - ErrorLog logs/www.av4u.co-error_log; d9 S% x! {# N+ S% i
- CustomLog logs/www.av4u.co-access_log common
# K: r6 d: D4 |% x - </VirtualHost>
複製代碼 virtual2.conf- E- P9 ?$ @# ` X6 ]: w
- <VirtualHost 192.168.1.12:80>! v$ i4 F1 W8 F3 C7 [+ i& c% m
- ServerAdmin [email protected]
, T, s% K7 E* [! o9 ^6 a; n8 G - DocumentRoot /home/coav4u/public_html9 h6 p* t$ T7 ?, e$ N" K
- ServerName www.av4u.co. p5 w! F, b4 N$ i& o) Q" D& v
- ErrorLog logs/www.av4u.co-error_log
9 P* q2 u4 i g# p* c - CustomLog logs/www.av4u.co-access_log common
( V0 G3 y. N% X# ~9 W - </VirtualHost>
複製代碼 存檔然後重啟 httpd; w4 o, W# Z" b6 `
但是出現 error:
0 J. y/ x9 E" q% u/ ~; u% \: c- L( _ [warn] _default_ VirtualHost overlap on port 80, the first has precedence
2 d8 m2 f! o+ i. B9 U3 J1 wSOL:
, F, z8 B! k. `由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:9 i4 t. L& s3 X5 }7 \
httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
1 [" C2 ~( \6 c: w1 {httpd.conf ===> NameVirtualHost *:80 , virtual1.conf及virtual2.conf ===> <VirtualHost *:80> 或者
5 b) m3 t2 {% B" V$ g2 mhttpd.conf ===> NameVirtualHost 192.168.1.12:80 , virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
/ Y/ U; s8 H7 u- a' n/ }4 w y6 h/ C+ Z: a0 \! u( g
8 u3 F3 l# N# ?( ^# w2 V/ P) P) {
{6 x2 S# h! E4 |0 H; M k |
|