|
虚拟主机原理, N6 P8 ?( ^. `9 D( L+ y* R, k
" u3 g% w% y: m4 Q/ p4 O
% T" w5 ?" n; _5 e3 G9 u8 |% b% v
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。 Z. ?* A0 F7 k
虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
6 b" U" O X$ q" ]/ z基于IP的方法:
# [3 i. X- `) v! U# e7 w 首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
- o, S# m2 z" v% B1 l0 W, C" h) A基于主机名的方法:
% H0 a/ ~! z6 _2 z: s# b 首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
! F$ ~( z' p- e2 j2 g+ u+ ?; A 基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。
* a' \2 I" u8 o8 I: Q f; }
+ B% Y; L0 }8 T1 c3 g3 K( e9 B% {4 `设置虚拟主机的主要步骤: ) ~; p; Y8 B5 s, P% ?
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
0 [/ ~ b, y2 t) m5 M) d5 |2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。 1 I0 o) _! [* `( j+ T; {; w
6 ]) j! R" R$ u( D! D: I
1 y- M) }8 q4 r- y0 |
, ~3 r3 Q8 E9 QIIS虚拟主机设置% \& d3 P; M# z+ p. j9 e' z
1 x' q/ [3 N* J/ b. b1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。 1 B: t7 f; k$ {
2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。 9 `' a3 P+ W) V) k! T6 S$ @
3、输入站点说明,如“站点1”。按“下一步”。
/ X4 F6 L( l1 @! d4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 # p8 G$ h0 m( t* n+ ]# W( G) m
5、在路径里指定站点的根目录路径。按“下一步”。
: `, n# z. i. _9 o7 R: h6、在权限里选择适当的权限。按“下一步”,即可完成。
( ]% o) N6 I& [5 [ V, b 如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:
4 [3 v7 Q/ X4 D, Y0 t1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。
, Z# A8 S1 A/ O, @, k1 `2、在IP地址右边点击“高级”。
9 R9 c7 G- A! w: n3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。 % p0 X( P9 Z/ d9 ? Z5 a B, g
9 O* T" @3 Q1 `, m& b) Z) W 如果有多个站点要添加,请重复执行上面的步骤。 0 S5 l9 g& J( ?2 n, i
8 _: _! i6 B/ j% p; b
, I9 B% o0 f; a7 o2 }' N# H* w; s( }: N6 X
Apache虚拟主机设置0 v, j/ f0 h' U, ]$ m9 E
1 D; j* G1 ~7 W1 M3 Y; b1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。 # J+ ~ w1 r4 L8 }! |# a1 s
2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下: & Z' w( o, s% c" S
<VirtualHost *>8 k: m5 g+ ~8 i
ServerAdmin webmaster@comexe.cn# G) `4 y# k6 O
DocumentRoot /export/home/dns0755; V$ A$ V1 U8 R5 g
ServerName dns0755.net
4 W D& o" v# Q+ a ServerAlias *.dns0755.net% f& L3 y9 V0 \3 K" P
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/# l$ g% W6 N. i- r( Z
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
; i1 `$ r, _# l! h/ b0 x CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined( d& N0 x" K) K0 q7 \- D
</VirtualHost> & K- T" }, u& y: i
说明:
6 Z Y& g) K6 g( l2 c$ s% dServerAdmin webmaster@comexe.cn
+ p4 s/ f2 N3 z7 ? w, C5 |站点管理员Email地址
/ h+ |. }1 _) _4 m$ n& _3 ADocumentRoot /export/home/dns0755
, w6 }% | }# G2 l% Q! Q. `站点根目录 8 b; Y" t! f0 p1 D; ~" `9 X
ServerName dns0755.net
; B1 D8 K; R/ J+ ~$ u站点主机名
: O9 |1 j7 U. K0 ^" J/ H$ [4 fServerAlias *.dns0755.net
- K) D# H* W6 I1 C! l& e# I站点别名,“*”表示任意字符
& _3 d) K8 a& `6 W) r( lScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/0 S8 m6 s5 ?1 U' T' K. v. e7 W- ^8 R1 ~
执行脚本文件存放路径
! k O; l5 |6 w9 M5 }+ A8 wErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
d5 x* \/ R. U: ]1 D+ E错误日志控制 7 y; k9 A+ g. R' z. b ?$ b
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined, o/ Y& o% k) K; ~, q
访问日志
8 S$ J6 b3 W. }3 ^/usr/local/sbin/rotatelogs是日志管理程序
+ `- i' [2 G0 L# M% u0 z8 j/var/log/http/dns0755.log是日志文件名8 E# I3 [. X( s* w
604800的单位是秒,这种写法表示每隔7天产生一个日志文件 1 R+ g' A( U6 u1 g
, J0 ~* ^9 n% F; n4 O
8 n' a* z" U( @: l 如果有多个站点要添加,请重复执行第2步操作。 |