我的環境是 <Linux CENTOS 6 + Apache + mysql> 〖方法一〗 1. vi /etc/httpd/httpd.conf$ \6 S( h8 g8 u' t
2. 找到 # VirtualHost example:
3 j0 j# X4 v; y& o" L/ `- 其下加入你的virtual server 設定,例如:
s) n- Q& ^+ | {$ X8 z - #2014/10/02 add) O* K. l7 k0 t2 ]* y T0 { x9 b5 f: `0 d
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解( t) m8 R) D$ W6 u: \; g5 f+ K, ?
- ServerAdmin [email protected]+ K# _/ ~2 V: X: A
- DocumentRoot /home/coav4u/public_html/ n* ?/ U- v0 c& Y+ N9 k- x
- ServerName av4u.co
2 ^9 i# p j' e2 r' O+ c! x+ p - ErrorLog logs/www.av4u.co-error_log: ]" w* m; Y3 _% O! y
- CustomLog logs/www.av4u.co-access_log common
h' H( U( N! m: M& [+ f/ W# z6 G - </VirtualHost>
% L0 ~6 f/ a* a0 w+ j2 _ - <VirtualHost 192.168.1.12:80>
# h- _. H; O/ y* r$ r# z' G, R! W% a - ServerAdmin [email protected]
$ A8 l1 v; L9 ], ]" { - DocumentRoot /home/coav4u/public_html: q& ]( v' s9 j4 s3 [
- ServerName www.av4u.co3 h3 G- p6 N. l- s% s- Z
- ErrorLog logs/www.av4u.co-error_log! r5 N, s) x- O) p
- CustomLog logs/www.av4u.co-access_log common
1 r' O! a; ?) t: k1 m6 d - </VirtualHost>
複製代碼 可同時指定2個 Domain name (av4u.com及www.av4u.com)到同一個虛擬空間,這個部分似乎比 nginx 設定稍微麻煩一點
0 h: P# \) v6 B% c( R K9 N3. 重啟 Apache 才生效; h4 ~% V* v9 H5 ]
service httpd restart #須以root身分 --->搞定7 [% \3 @& y. D- ]
註: service httpd start #啟動
$ x# G3 H0 |5 q" v$ ~& l/ R+ h service httpd start #停止
+ K& D* X1 R: `* L/ t3 e! G' y! P! y+ D〖方法二〗
7 K) D0 S3 t; w8 K) z( A在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)
" _1 n, M8 N4 R! f& ^- X# k- n例如: + p5 R0 l: y0 _# n
virtual1.conf6 F4 w5 X/ s2 n M! F8 ?" B3 p
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解
* S1 D4 ~! j3 N* F% j. A - ServerAdmin [email protected]
7 b/ C4 e6 _3 ]. m: U+ T - DocumentRoot /home/coav4u/public_html
$ B5 X0 d( E# i; P9 l" n& \8 g# X - ServerName av4u.co: Q2 Y5 I5 U( p+ j
- ErrorLog logs/www.av4u.co-error_log
k% y( F! S( u - CustomLog logs/www.av4u.co-access_log common
& ?9 X1 G1 v0 B - </VirtualHost>
複製代碼 virtual2.conf
7 F ?1 H3 w' |- <VirtualHost 192.168.1.12:80>
: {! t4 w4 s9 n9 J( m - ServerAdmin [email protected]' P) ]/ q" M5 I0 z( q* p
- DocumentRoot /home/coav4u/public_html( u' r+ ?2 H [3 y
- ServerName www.av4u.co
- T! g* [" F k6 u - ErrorLog logs/www.av4u.co-error_log: a4 O& v+ t' h) H5 w8 W. X
- CustomLog logs/www.av4u.co-access_log common
6 H6 N. a% v u3 W- I' x1 J - </VirtualHost>
複製代碼 存檔然後重啟 httpd
" p! v5 U1 V% K8 W% k但是出現 error:
6 E# N" ^% J" u, p [warn] _default_ VirtualHost overlap on port 80, the first has precedence
* l/ N' w8 W$ o9 C8 zSOL:: ^' h, n! A; p6 N' L
由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
9 m4 M1 Z( J) S f6 s. {- \* m2 nhttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即7 P* r0 _! t2 t7 Y% D- ?! j, g% y/ d
httpd.conf ===> NameVirtualHost *:80 , virtual1.conf及virtual2.conf ===> <VirtualHost *:80> 或者
! f' @; O9 D% { P1 I& Chttpd.conf ===> NameVirtualHost 192.168.1.12:80 , virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>
& p C3 y$ q2 J. _5 X
+ Z2 a% P! {" s0 _2 i6 z- w4 B4 Z$ F5 u7 B7 p
8 K$ c, k3 s( j0 K
|
|