|
tid=1&我的環境是 <Linux CENTOS 6 + Apache + mysql> 〖方法一〗 1. vi /etc/httpd/httpd.conf
% s" F+ m* s7 v4 n' p; a2. 找到 # VirtualHost example:
, y" p6 ~8 F. B) V6 J- 其下加入你的virtual server 設定,例如:6 R! [( D3 Y3 h# c+ |4 R V) Z
- #2014/10/02 add
- K( n, C8 w% E8 o% q- x1 M - <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解2 l/ O8 T- G4 J: C$ B1 j
- ServerAdmin root@av4u.com
# z% K4 ?1 R; r& E2 z5 z: _# _( r - DocumentRoot /home/coav4u/public_html
1 |; I6 {4 q( i8 y/ c - ServerName av4u.co
. N4 T: L( G& ]) ? - ErrorLog logs/www.av4u.co-error_log
/ U9 ?/ D6 `6 P: E9 w: q - CustomLog logs/www.av4u.co-access_log common# n+ f( o6 v ~2 E
- </VirtualHost>
6 W. t' O, o$ Z6 s - <VirtualHost 192.168.1.12:80>1 g3 J# |) |6 N M6 @( P" ~: j
- ServerAdmin root@av4u.com
9 G N1 |8 p% C5 J5 F - DocumentRoot /home/coav4u/public_html" W; Q. M2 ?9 G9 k% f
- ServerName www.av4u.co
: s* b$ F4 p$ s: j, R5 x - ErrorLog logs/www.av4u.co-error_log
5 a1 W3 ?, e+ O/ _- ]; X - CustomLog logs/www.av4u.co-access_log common
4 e& f/ M; L, ~" t) f0 l: l - </VirtualHost>
複製代碼 可同時指定2個 Domain name (av4u.com及www.av4u.com)到同一個虛擬空間,這個部分似乎比 nginx 設定稍微麻煩一點
5 |, v+ Y9 W m, k+ e3. 重啟 Apache 才生效
9 Y" m+ B% n% k6 n service httpd restart #須以root身分 --->搞定
+ q! j! n+ u/ F! g 註: service httpd start #啟動
) F, a, S. G9 ] service httpd start #停止+ V5 N' ?7 M$ L! W( Y
〖方法二〗
1 Z5 ~9 P r- [% e& [; |在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)
6 J: ]: _5 t: G& F9 F例如:
6 a5 P0 o- ~* L$ m; d- U1 jvirtual1.conf2 s8 u8 g* g8 p7 z) @
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解+ Q; g- A3 |: q* p* }, V2 o
- ServerAdmin root@av4u.com
$ I$ m+ h N; V: a5 d) K- k) w$ M - DocumentRoot /home/coav4u/public_html
, s0 h- Y7 x9 H5 `2 O+ h! [5 j - ServerName av4u.co- ?% x. ~4 n8 z6 ^% \( j" |+ Z& g' ]# ?
- ErrorLog logs/www.av4u.co-error_log& M3 O# {" ?, L+ s! d7 v
- CustomLog logs/www.av4u.co-access_log common
0 N2 G* K" ]# u: p# G - </VirtualHost>
複製代碼 virtual2.conf
7 N$ ?5 x8 b; q- <VirtualHost 192.168.1.12:80>: \7 g9 ?3 e, y4 N7 Y
- ServerAdmin root@av4u.com
* W3 U t* R! W$ m( V0 D5 S5 U: _. \ - DocumentRoot /home/coav4u/public_html. V; E3 z" o4 O2 V
- ServerName www.av4u.co `& ~+ s/ j2 `# X2 ~, g: D
- ErrorLog logs/www.av4u.co-error_log
( E% C% y, [# z - CustomLog logs/www.av4u.co-access_log common
u2 i' r2 \2 {' D+ }; |4 R) o' c - </VirtualHost>
複製代碼 存檔然後重啟 httpd2 U g& ^: x: n2 _+ n* I& d& W& K
但是出現 error:/ z0 r' _) S8 g9 w4 T
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
: C& i1 S0 \5 z/ J( I1 CSOL:
: @) J/ U" k9 U/ r; O- }由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:
5 V6 v' ^+ l! X6 p8 P! Khttpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
) H& F0 \: \. s$ t- f5 ehttpd.conf ===> NameVirtualHost *:80 , virtual1.conf及virtual2.conf ===> <VirtualHost *:80> 或者
6 F1 m6 g X, i, W& x! Rhttpd.conf ===> NameVirtualHost 192.168.1.12:80 , virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>5 p! N' U, P: \8 P; j
- l4 g+ K4 F. n5 h: {
* Z* |( A! J; x( I k
% y' Q" s a+ z0 N8 }- C
|