|
虚拟主机原理
0 [# S$ ~+ f% o a$ Q
4 B% M* i/ _! U/ a7 K6 f( p' _5 ^, K0 `( M/ }4 P
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。
3 C5 P# Q/ Q6 E5 b0 k" u; d 虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
9 H, D( o2 p7 K+ X基于IP的方法:
% Q( `3 E1 X6 @) Q8 v1 k0 \* n9 Z 首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
- u# b, k: W" o' s" A/ L基于主机名的方法: 0 y. }1 ^! \- T
首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
M0 E" S) |! x1 v& W& l9 N2 Q/ N 基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。 ; h; ^* J8 I- t& T/ ~7 j
5 K( Y# h: s7 T9 a/ y
设置虚拟主机的主要步骤:
p! }0 X# c' T T1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
+ M9 Z4 q" d6 w2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。
! h# X! k8 d/ c, o2 m, O G. N8 e+ j2 T
: S- l$ B+ `- t* n: y
) e& b, t6 p- ~5 O9 B
IIS虚拟主机设置
4 R0 w7 B% w: M
6 U* a- Z- B4 ~5 ?% Y L" q( S2 U1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。
0 m* Z8 F, G3 a4 J, j+ U2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。 + }% t: M5 t" w1 j( f
3、输入站点说明,如“站点1”。按“下一步”。
& E- v y" \& E4 W- ?8 m+ x4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。
2 a( n o( ]: I5 X4 [, c4 M5、在路径里指定站点的根目录路径。按“下一步”。
& V) b- b y+ X2 I$ H3 @7 _6、在权限里选择适当的权限。按“下一步”,即可完成。 3 Y6 S' \' p/ e) Z/ J# ?9 j% [
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:
- _! p" R$ U# s1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。 : k% g, L5 f7 R% H2 | |4 \
2、在IP地址右边点击“高级”。
' M3 N! D3 F/ {1 k' n" C6 f4 C U3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。 . n# ~4 r3 J. _1 N1 A. ]
. e% H: \7 ]$ ^0 H: e5 k; u4 l7 q 如果有多个站点要添加,请重复执行上面的步骤。 ) a! \( e: z Y: \! N0 c4 p* Q) |
" x y1 x1 A5 Q& z1 g8 q
% B* F' C; B; |0 s. Q7 ~0 H \) x
+ \- ?2 R! R( x7 T. ~$ m
Apache虚拟主机设置1 u* i" Z7 X; @
* `3 Y1 M$ W; @6 v" X& }1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。 3 ]5 m& }( b- K5 P% `5 i
2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
- p- @. H" g: c' a <VirtualHost *>8 F% l( `; G6 U; y
ServerAdmin webmaster@comexe.cn T3 N; Z( Z ]+ p5 o' s5 _
DocumentRoot /export/home/dns0755
1 p6 c) U9 ?+ D1 w* Y6 n, z! ^ y ServerName dns0755.net+ Y) H+ e0 g j4 _7 J7 K
ServerAlias *.dns0755.net, D. W3 M( i7 w* L
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/) V; N3 |% V: O4 o1 Z" e. G% U! M
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
$ Y0 r: C* q( b9 r+ g8 p' `$ C CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined g6 n/ I2 B7 g: Z, f+ }- w |
</VirtualHost> # b0 H, F; ~) U/ b1 j+ r0 N2 w/ A
说明:
- V: g2 F0 u! aServerAdmin webmaster@comexe.cn
3 v" D q: d9 h& v# |站点管理员Email地址 + ~; A9 v6 `# |9 P5 ?' p4 o
DocumentRoot /export/home/dns0755
) } w- ~% L, _& a$ T: C8 P站点根目录
. Q! @6 `) @1 G6 CServerName dns0755.net
2 v9 ` P( Z8 B; V7 A站点主机名
- _/ c+ m0 W- h: |; e0 u+ A9 v" G9 e, yServerAlias *.dns0755.net
* f. `* K6 O+ j* ^站点别名,“*”表示任意字符
p0 z% n. f3 p& iScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
0 E, R1 q4 X V9 R& `! {: v; _5 R执行脚本文件存放路径
; z! _/ C: l! f5 W' C. LErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
) Z, u7 A3 E; f+ J" M% h错误日志控制
* y8 B; e! H5 E( iCustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined: h3 @0 ], I1 u# [6 d
访问日志
% H5 n7 }% [8 Z. c" w) f9 }/usr/local/sbin/rotatelogs是日志管理程序4 A; X* \4 q0 Y4 W! n7 F4 b) g
/var/log/http/dns0755.log是日志文件名
# b$ T* a" {; _% y3 F604800的单位是秒,这种写法表示每隔7天产生一个日志文件 ' T/ p4 U- l ^( {5 ]
0 T a a5 I4 s6 V& j
: V' F/ b( F1 f7 q
如果有多个站点要添加,请重复执行第2步操作。 |