|
虚拟主机原理
S6 t( u* S3 F6 K4 {
0 @6 Z& h. W5 |) l; g! b
1 c0 H0 U" I( ?" R- y8 E$ B8 l F9 E 虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。
! ~; t, j2 p' Y$ n 虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
9 p9 ^7 x6 R) z- ~基于IP的方法:
- u3 t. A& ], v3 d 首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
$ ]+ a/ T! C( e+ ?: T! V9 L基于主机名的方法: 3 I3 ?3 g5 t! z7 I7 ~
首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。 $ }- R. P; C8 b
基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。 ! G% F. c! i# u
4 Y/ o% [' K0 Q: \' n4 @设置虚拟主机的主要步骤: 8 D1 o- h3 q0 h+ H" M
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。 0 N' F8 Y- R& n# N k u( ~
2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。 ) `' q* P+ J4 A1 p& |0 d; k4 p
8 B5 M9 B. f0 M+ `6 E0 u0 H
. I5 [$ j I" u+ [
+ j. x5 F# A, J2 S6 ?) lIIS虚拟主机设置
3 r/ `3 P$ ]3 b$ [& P+ M( W: ~1 d* Q- N7 e
1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。
) e, K! L; P% ?% j2 R4 Y/ D A2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。 4 h$ R6 R9 Y& t( ?2 u
3、输入站点说明,如“站点1”。按“下一步”。 : F' Q( \$ |2 d( ?7 f. }" Q7 y
4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 ( c) d- @' w( v% j
5、在路径里指定站点的根目录路径。按“下一步”。 % H. _+ s; b0 W5 D0 J# [. T) Z
6、在权限里选择适当的权限。按“下一步”,即可完成。 " o0 `( f- P8 l8 p" P0 [6 m! w6 F
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:
3 c" ]4 I9 f6 i! M4 @' s1 V$ c3 o1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。 / s; X5 ~5 | |7 I F! }
2、在IP地址右边点击“高级”。
1 p5 U# i5 b! C# L3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。
1 ?$ R( y* P! F
5 ~9 A) Y1 ~% `# g- j 如果有多个站点要添加,请重复执行上面的步骤。 2 a! }/ z" C, j& r
: A8 W/ V+ z% H* f6 ?- J4 G, x: }; R8 E/ [
- \- R0 h; {' K8 sApache虚拟主机设置; v. @( }5 O3 T. X% W" z
+ [: ~2 J- t! ^' j! g1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。
5 y: H" y2 b) `# b3 J& X7 Y) e- {2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
6 b8 c# _: K' T9 Z3 @ <VirtualHost *>* a$ Q/ T# P3 e
ServerAdmin webmaster@comexe.cn
; B, J @: S: V! E) T) t6 T DocumentRoot /export/home/dns07556 R* o" W, ~- D" j3 c& n
ServerName dns0755.net; U- M! f: \5 }" b; D9 X( m4 F
ServerAlias *.dns0755.net% `- k" ]% }: {8 n& A) a' q
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/0 f2 P+ N0 J3 F3 K+ M% @# p3 i; ~
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
5 X5 c0 V7 Q! i; i* i3 c# g6 p CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
1 ]9 B' L8 }$ B9 k! S+ u, \ </VirtualHost> ! A0 K K6 A/ I4 O* ~- @% u6 {3 H
说明: 6 |' C# [! h, d, [
ServerAdmin webmaster@comexe.cn
. j3 u3 L+ d, K1 Q3 I0 q站点管理员Email地址
/ u* W& c( b' S/ a# t% `+ ]6 tDocumentRoot /export/home/dns0755
. |3 d7 W) }* Y站点根目录 * V9 ^' ?4 l9 C% ~
ServerName dns0755.net6 g2 ?$ w; G' v$ W) Y
站点主机名
; X1 v! \. \" Q' TServerAlias *.dns0755.net
: L" q7 \* ]7 f7 b2 `/ }! M* {! X& s站点别名,“*”表示任意字符
$ K( c1 f( q8 `ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/. o* k# ?! X4 h( d3 C' V2 u
执行脚本文件存放路径
- h6 M% [/ i& ]- I: c0 M6 l' {' HErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"* e: [+ }/ j4 b |' l p$ o7 @/ `; E
错误日志控制 ( n1 _2 D1 |5 b3 y' R& V
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined6 t- J# U! ?8 i k; Q; g" q$ u; k+ _
访问日志
0 F8 }5 x* L4 b5 o- n Y/usr/local/sbin/rotatelogs是日志管理程序# B- u. q4 C0 ~6 i# ~
/var/log/http/dns0755.log是日志文件名
. d& |! V1 S3 o; y# S. f: @8 d. z604800的单位是秒,这种写法表示每隔7天产生一个日志文件 3 W% _' k; t8 D) k7 m
% K+ m) h. k) v) ] A5 u5 u T: g2 g# x; j
如果有多个站点要添加,请重复执行第2步操作。 |