|
虚拟主机原理( H- y8 G r7 c/ _6 n4 l
% l% l: E) P% B: J. P, E
5 |9 Q: E S" T, r# E* A 虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。 & }0 d/ l$ x5 S8 C0 V
虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
C* l' r/ F) e! h# n) Z基于IP的方法: ' s* [/ p6 o% t
首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。 + f1 b* \+ |9 l5 W8 k8 P5 H, q# E3 d
基于主机名的方法:
1 Q- v/ ^7 |; k7 N, r 首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。 $ v `# J( c H4 p" T
基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。
5 L) T) s& c+ S- ]; f
3 x: ]2 f0 z8 \- T! u设置虚拟主机的主要步骤: % s; O! j3 x/ k) l; E% o( B! x
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。 # @( \# E! \+ f# n$ L1 |
2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。 : |9 e$ y/ m$ O O+ v" Q
: d7 O: m9 L g# Q( y; ^/ ]& l8 z4 g8 W3 t% H1 R: j, ^3 P
, I- h' h* U% o1 o0 T4 [9 XIIS虚拟主机设置/ [0 m6 P0 m) I; H; q4 p4 V1 m% M
' P2 i, n$ K7 E9 B) c% X' g
1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。
, c' l# u: ~; h2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。
[: ?7 g3 J% t G- v5 t# f7 d4 x3、输入站点说明,如“站点1”。按“下一步”。 : |, a- X; Z; \6 T) K( Z
4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 4 w. E0 f: D# c
5、在路径里指定站点的根目录路径。按“下一步”。
+ j3 o s4 {6 ?: y7 A6、在权限里选择适当的权限。按“下一步”,即可完成。 . z( d) Y0 P; h$ W; u0 A7 Y/ o
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下: ' S7 c7 n& l& y. D
1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。 " W# l3 W8 X1 R( H+ [9 q
2、在IP地址右边点击“高级”。 7 d( y6 C! ]* n& d
3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。 , H+ C( u. e( [& s) i ~
. y: R! T+ S, ?# ^) O 如果有多个站点要添加,请重复执行上面的步骤。
- M8 N/ z0 ]( V/ A- \
0 M w4 x- p. n ~# n. s$ k+ N; {$ U# Q& \2 t1 L
; ]. f: d6 G5 R8 n8 M* n" k& I" ZApache虚拟主机设置# u; x# S2 u7 {, I* }' M \
& X: N5 W4 I- S( [
1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。
. N$ X( C& c O a% [, D( ]2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
) X; ]: P8 t! V* ?1 O <VirtualHost *>7 m/ e1 o0 D4 c1 R5 U; S' T% h2 C
ServerAdmin webmaster@comexe.cn
) f9 ~$ [. p& `+ ^' L2 u, I DocumentRoot /export/home/dns0755
* }! }5 ]5 B' G1 b( V ServerName dns0755.net
2 C% \1 }, n, E+ } ServerAlias *.dns0755.net
5 z* w% ]8 n, C# P& k2 {; H ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/( `( y8 q; L3 q' O6 |
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
9 c0 F, _4 |' H CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
" Q# s% j, t, U </VirtualHost> 9 [4 I7 }5 D" }# k6 _6 ]- r
说明: . x K! q3 |/ r; V% E
ServerAdmin webmaster@comexe.cn
* ^$ e! ^' n) k. ^; i3 C+ g: |# U( T站点管理员Email地址
. o* h# j; P: T8 _: y2 VDocumentRoot /export/home/dns0755
]8 v% w1 ^6 Q站点根目录
& h# t+ [5 [; aServerName dns0755.net
( q7 z: G, C: p4 v站点主机名
4 q2 s; Q6 q) @8 m4 f! c% i3 [8 bServerAlias *.dns0755.net7 d* c- E% B/ f
站点别名,“*”表示任意字符
9 b" c6 U# K2 I4 p6 [ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/5 p4 X& I% ~4 r: T& ?/ r7 z
执行脚本文件存放路径 5 T" C) A1 d' t1 w8 f3 E: J
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
3 |- O2 r& L5 \+ \# H错误日志控制
7 g. }7 `0 q1 z! |7 k9 O5 J# TCustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
3 B, ]; U7 w$ g! L V3 ^6 W$ Y访问日志
) V: \% w2 B; O3 V/usr/local/sbin/rotatelogs是日志管理程序% ?: n& ?, a; ?) m9 J
/var/log/http/dns0755.log是日志文件名
& ~3 ~+ b( M$ y- |604800的单位是秒,这种写法表示每隔7天产生一个日志文件 , K& d! Z; X$ ^
& x4 R2 m% Z5 a2 o+ m# Y- V: K* Z0 ]0 s3 L# C
如果有多个站点要添加,请重复执行第2步操作。 |