我的環境是 <Linux CENTOS 6 + Apache + mysql> 〖方法一〗 1. vi /etc/httpd/httpd.conf( w, }+ N- y' H4 ^) e% V8 N
2. 找到 # VirtualHost example:- 其下加入你的virtual server 設定,例如:
- #2014/10/02 add
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解
- ServerAdmin root@av4u.com
- DocumentRoot /home/coav4u/public_html
- ServerName av4u.co
- ErrorLog logs/www.av4u.co-error_log
- CustomLog logs/www.av4u.co-access_log common
- </VirtualHost>
- <VirtualHost 192.168.1.12:80>
- ServerAdmin root@av4u.com
- DocumentRoot /home/coav4u/public_html
- ServerName www.av4u.co
- ErrorLog logs/www.av4u.co-error_log
- CustomLog logs/www.av4u.co-access_log common
- </VirtualHost>
複製代碼 可同時指定2個 Domain name (av4u.com及www.av4u.com)到同一個虛擬空間,這個部分似乎比 nginx 設定稍微麻煩一點3 E/ n1 T" K# @
3. 重啟 Apache 才生效$ u* j; j; L2 |' E/ V' |. h
service httpd restart #須以root身分 --->搞定" @) g7 C" q" V2 k
註: service httpd start #啟動 1 O, ^0 B# D( i; G) J R4 R
service httpd start #停止2 m8 T7 j& X( H% D3 }+ [ d
〖方法二〗
, K% M% w) h: ]/ A. v+ S4 f在/etc/httpd/conf.d/新ˋ建一獨立檔(設定一個virtual host)& |1 n. h% z* }' q3 J
例如: / O( Z$ [, p, R, C1 }. ~/ Y6 G: I
virtual1.conf/ O4 k3 s: T5 k8 {
- <VirtualHost 192.168.1.12:80> #或 <VirtualHost 127.0.0.1:80> #符號為註解
- ServerAdmin root@av4u.com
- DocumentRoot /home/coav4u/public_html
- ServerName av4u.co
- ErrorLog logs/www.av4u.co-error_log
- CustomLog logs/www.av4u.co-access_log common
- </VirtualHost>
複製代碼 virtual2.conf
4 X- z0 u$ R" @ R; J- Y0 O- <VirtualHost 192.168.1.12:80>
- ServerAdmin root@av4u.com
- DocumentRoot /home/coav4u/public_html
- ServerName www.av4u.co
- ErrorLog logs/www.av4u.co-error_log
- CustomLog logs/www.av4u.co-access_log common
- </VirtualHost>
複製代碼 存檔然後重啟 httpd. A9 O V9 z8 y y3 @
但是出現 error:- k5 [; F- m; i2 [0 C& O: i
[warn] _default_ VirtualHost overlap on port 80, the first has precedence. P0 c' i$ L' e
SOL:0 r: C% [- w4 v y& J& z
由於 /etc/httpd/conf/httpd.conf 內 NameVirtualHost *:80 而 virtual1.conf及virtual2.conf 內都設定為 <VirtualHost 192.168.1.12:80> 不匹配,正確的設定為:/ l. E& W! m+ e$ b9 ?0 {: e: |6 @+ w
httpd.conf 及 virtual1.conf及virtual2.conf(所有虛擬主機的設定檔)不是都為 *:80 就是都為 192.168.1.12:80 即
( T& e) ~# d+ T% S. F8 O# @# Hhttpd.conf ===> NameVirtualHost *:80 , virtual1.conf及virtual2.conf ===> <VirtualHost *:80> 或者 # w0 j7 ^; p; |9 _
httpd.conf ===> NameVirtualHost 192.168.1.12:80 , virtual1.conf及virtual2.conf ===> <VirtualHost 192.168.1.12:80>+ ^+ W( o% H8 Z
# x7 ^0 F+ D$ P( F
, \) |4 ^/ W4 `. Y
7 }3 c; O9 j3 q5 V- ?- p8 n
|
|