|
虚拟主机原理
- Y/ a1 W. X' u$ q8 _7 n6 n8 G; F/ b/ Y
6 I: t% {! T5 h9 J
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。
! a) d4 X# N+ ]+ A7 r' s 虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。 2 w J5 z' ^3 }/ l) I% V: ~
基于IP的方法:
; Q) X1 k" d( w 首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。 2 w* O5 x" m" J' S. q0 R
基于主机名的方法:
# w6 r6 u' T# X+ ^ 首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
. U) O% B* v( \% i 基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。 ! P* D- g* R9 |# _' ~9 C1 ]
! C N7 r$ p9 g% e
设置虚拟主机的主要步骤: & B: ?' X" u+ |% b
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
3 W( K7 y1 @& C2 u ]2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。
4 d2 A- h* Z2 w! N6 k) o
1 T2 w3 F5 \( F& T
, Q: D, w+ h. \9 }; L/ l. y# c) b6 \) n
) U2 |- T7 k5 Z6 M7 I* R/ aIIS虚拟主机设置6 s2 N8 N# k5 G. Z. o1 o& _! [
- B2 I8 ^0 T7 L. z# P- V/ w
1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。
( ?/ `; B- N5 ]: v# d2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。 1 K3 I4 F) G t- e
3、输入站点说明,如“站点1”。按“下一步”。
- x6 p6 S- j6 C- r4 ?- h2 X4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 , P F q' Z! @* n2 p( O( `' @
5、在路径里指定站点的根目录路径。按“下一步”。 ' }1 b+ K0 {% \3 X$ ]0 H1 j" Z; h
6、在权限里选择适当的权限。按“下一步”,即可完成。 % S* _" f7 r; u' P. m* i
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下: 3 |8 y9 I" p9 p$ h1 k0 v: J
1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。 " h0 X( ]- a+ _' a9 g9 f% Q
2、在IP地址右边点击“高级”。
5 W5 C6 S: I/ A: s# F( U( ~5 F3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。 ; P& H" y [! e" _+ D- u( L
) E9 n, l$ n o+ c
如果有多个站点要添加,请重复执行上面的步骤。 5 x: Y! ~3 f& X) I) o6 i0 D* s
) }) g4 n+ P H0 b' P) t
O' X2 g- X, F1 F [+ \% q9 Y, F6 G( x) p
Apache虚拟主机设置& T" e8 A( F! T' r( y7 b( v
- T; g2 M9 }- I% z0 x2 ~1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。
4 K3 V$ x; i/ _ a& P' w2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
& A3 E% D8 c% Y, j* O8 s; R* p <VirtualHost *>
; t0 R( y6 n5 H+ c1 i7 H ServerAdmin webmaster@comexe.cn/ }+ p- a" U3 c5 h# y
DocumentRoot /export/home/dns0755
, R1 r0 H3 Q& N( n ServerName dns0755.net
' \& s `: c' J9 g/ F/ f5 @ ServerAlias *.dns0755.net
& b/ p4 P$ e% Q2 T ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/* K- o8 D. I* _+ o
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"* B8 n- x% u9 t- {2 P& U" e
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined& U+ g, u1 R- {& w. F' f
</VirtualHost>
+ e- N* X% p# F" H1 b3 V7 V, N6 W说明: " O) q6 g+ B! A% M; G
ServerAdmin webmaster@comexe.cn
0 T- L7 u+ r) q站点管理员Email地址 9 T/ ^# m% s7 x+ g# F7 N5 N
DocumentRoot /export/home/dns07552 E z: \* j3 k& c3 x+ I( ^
站点根目录 p! u, s6 U- G& ~" m( H
ServerName dns0755.net
/ B- D; ]- J' ^9 u6 N' p站点主机名 6 y& N6 e ]5 R u, Z- E
ServerAlias *.dns0755.net% |5 i! y* R' S2 P: f1 x
站点别名,“*”表示任意字符
2 Y6 q8 x' U, M- S8 RScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/$ v& ]9 g+ C4 ^4 X
执行脚本文件存放路径
9 I7 X2 G4 n/ ]5 L0 jErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
" K1 C7 D+ d/ ]' J错误日志控制 : ]( D' K, @' G
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined& Z2 b: p8 F {2 [/ F4 O5 h
访问日志 1 c+ W+ Z- V0 z! d
/usr/local/sbin/rotatelogs是日志管理程序" C# _ y% C+ U/ L4 x
/var/log/http/dns0755.log是日志文件名
3 x6 ~! T; T& N1 l& G* v. }- Y604800的单位是秒,这种写法表示每隔7天产生一个日志文件
7 p; A/ J; C. O- e5 q. ]
1 H+ \& k6 a9 ^* p) U/ n5 d, {, P
. [3 m. D& a+ V/ E+ ` A" w h 如果有多个站点要添加,请重复执行第2步操作。 |