|
虚拟主机原理" @: z- W- f' T3 H- ~
e$ ~: W5 F* v& `5 G8 N
+ |/ L- o; O( g+ y+ k* J 虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。
, k" ]( c9 M5 T7 i- T( t 虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
. {; p5 I. O" ~+ d: H9 i% G基于IP的方法: 3 c( N, t. o( `. l8 G9 I
首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。 / i) Q5 h. @2 t; B9 B
基于主机名的方法: 8 O! \1 e% p& l6 J3 ?7 {- k
首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。 0 |, Z, [. a( \8 \
基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。
3 \0 w6 z' |+ O3 `: I
8 s% d4 L! q' H6 x. R' {设置虚拟主机的主要步骤:
! o4 V5 q$ K2 g1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
+ o, y: {) ~2 k. @ u2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。 " z5 X6 g' e5 j' w! |# N" d2 L
: H0 i" D# O; ?* T" ~% Y
& }9 g" H6 o, ^- B: V- \) W/ L* B1 _
$ B) T. {' t+ q8 E# K; iIIS虚拟主机设置
, E# X: o( G. Y% O1 K; N/ J& F* ~( V+ q3 g6 Q- H; @
1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。 + z: }# m4 J2 D2 Z! D6 R# H
2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。
. ^# [% [# z- U3、输入站点说明,如“站点1”。按“下一步”。 6 `6 t6 m+ P% B" J% t0 d
4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 , N/ q* N* S7 Z4 L6 j
5、在路径里指定站点的根目录路径。按“下一步”。 1 P! o5 g; U( D, l: T
6、在权限里选择适当的权限。按“下一步”,即可完成。 - O; y* B) N( G5 y1 F! J
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:
9 E0 F8 b: E8 ^2 F9 q C2 A& n1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。
8 ?& _! W' j- p( e6 f8 Q2、在IP地址右边点击“高级”。 9 ]* z+ A& x+ U3 K* H* z
3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。
) a- W/ b; |4 i0 a; w* G
" ^% ]5 T0 ]' L( p2 Y/ c 如果有多个站点要添加,请重复执行上面的步骤。
0 b( n9 l% i& T6 c1 O
* b4 D! ?: E& J: n$ j# H
" m( k4 _, W- a8 X7 P2 K! v5 u# v
2 F8 P, @, t# E) T4 FApache虚拟主机设置/ Q5 l0 j7 p& p" I- o
* s+ P+ A( A3 D$ M7 C9 l1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。 " r$ E$ h! c" s2 o
2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
z6 |4 J+ ]9 m+ x) B9 n }" F <VirtualHost *>
! l( H5 c. o- x8 k5 M; V ServerAdmin webmaster@comexe.cn0 D+ U+ T, P* f. `7 u8 T6 W- ~
DocumentRoot /export/home/dns0755
7 q" ]9 j- W# Q9 d ServerName dns0755.net
. x% c% @& ?! V7 o' V' p8 l ServerAlias *.dns0755.net
, |' D, k1 v: M ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
: T f/ V w" P* M) t* d3 O ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
( [' ^. r$ a" Z CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined5 W4 o, @! J+ J4 }" h0 }
</VirtualHost> 2 L2 y5 r; R; p
说明: 4 B; Q' i/ K+ |0 d2 \
ServerAdmin webmaster@comexe.cn
$ h( z0 K( \ Q8 p# O. \站点管理员Email地址
' [& S1 P( W, Y ^1 U: wDocumentRoot /export/home/dns0755
4 `% \; @1 B O; l# G+ a站点根目录 3 q$ @! l3 W8 t6 L( G
ServerName dns0755.net
; j' m6 R. f$ x" V" d站点主机名
* d* E$ j7 U' EServerAlias *.dns0755.net
$ E) F9 M+ G7 ~7 q站点别名,“*”表示任意字符
: a" W( B2 u9 X4 Z* A/ r* v" FScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
5 h& O2 A+ Z* L, Q# }( z( B, ^3 _# R执行脚本文件存放路径 + k% b0 C! O0 ~* }% Z
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
6 z' J- H# u/ s错误日志控制
, t. Y6 G4 C8 ~1 Y: d0 O: O: Z, l) ^CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
$ G6 _6 E' z; J6 V' O8 Q访问日志 7 x2 }% G) Q- P% F9 V* ~# B9 d
/usr/local/sbin/rotatelogs是日志管理程序0 O5 D' U% h0 j+ Y- t
/var/log/http/dns0755.log是日志文件名
2 b" c. @/ u7 |( d* m604800的单位是秒,这种写法表示每隔7天产生一个日志文件
9 X& G8 m$ a4 `9 a( M3 m( n& R
S% R0 v1 g, k$ L" Q: f
4 j* i+ f( H% y2 p 如果有多个站点要添加,请重复执行第2步操作。 |