|
虚拟主机原理, Y: Z: P% k9 n) E5 g; [8 N
9 _$ n. P$ D) ]: v: }
! I5 \( d2 g% ]/ U; H- I3 _
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。 ( T( a. D* c1 u( i' g
虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
?/ Z2 _% V5 j! s基于IP的方法:
3 ]& [& K1 V% m' I" X& C3 | 首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
% Q6 \ \9 H2 J" V. D9 j) x/ }基于主机名的方法:
9 ~; `$ V! o' Q, F/ b 首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。 / B# v, t D( k$ c
基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。
7 ^# X' F' Q$ ]$ Y! S. [. w8 i
. g- M+ I" l8 g3 l设置虚拟主机的主要步骤: . |0 n. m! I3 I- _' J4 c
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。 / D2 P( ]5 B: W8 Y; X) F
2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。 4 y# B* m& a t0 O0 ^- l% C
; v# r8 G. T0 c: U6 J# b. X
! K1 ?1 y4 I7 }$ A+ f) J8 k3 j2 |) o
' Q% ]8 D0 n. x% h( d% |( MIIS虚拟主机设置
3 A" c. V `) J0 ?3 x. b
+ A0 o/ Q$ T8 i. v3 _1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。 1 _' j) o0 H% b: Q8 C0 b
2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。 - k5 `" V1 K; a
3、输入站点说明,如“站点1”。按“下一步”。 7 s# n) i N7 z. P
4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 4 m0 v' @) |3 R
5、在路径里指定站点的根目录路径。按“下一步”。
2 R: b6 u& m$ C; U/ o9 C! o6、在权限里选择适当的权限。按“下一步”,即可完成。 : L( v; j& e! ]
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下: ! |; n$ U3 t, Q5 l; _0 e
1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。
! \! k3 A$ u. k4 S( n* \ |2、在IP地址右边点击“高级”。
# ^3 u% g* \4 X% X' w- U3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。 8 G8 r% _" E: U
( T2 _ N6 v, Y9 K
如果有多个站点要添加,请重复执行上面的步骤。 ! P; k# y+ s9 D V. n, j
% P7 D+ s/ A- y. S8 f8 G$ X) d( ?8 H
1 H! z: o5 Z7 H* p
Apache虚拟主机设置: B2 `5 f, f' S1 T
- x8 e1 Z1 O9 }" W$ g& _
1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。
- ~+ F& h3 H! M6 Y& ~. W2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
" _1 I0 l; u a0 @/ ~& y0 J <VirtualHost *>
6 H1 }' e t$ @9 y4 h5 } ServerAdmin webmaster@comexe.cn; s& T/ r. d; F: e- O1 Z& C6 C) \* @
DocumentRoot /export/home/dns0755
7 W& c' h- X9 }4 [& d0 j' s4 s ServerName dns0755.net# f$ B( W$ p# B, o% s+ ]
ServerAlias *.dns0755.net. r) s, j3 b9 T! _3 d1 m" R/ O
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/. K( A) X" B5 x2 `6 ?
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
( \ H! I& i5 i. `# x+ s CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
4 ^% W' N, G1 p$ H </VirtualHost>
4 d6 t4 p5 E5 v; l+ `说明: / Q4 `% G4 N8 h
ServerAdmin webmaster@comexe.cn
}7 D9 w+ @, ]3 ?) Y V站点管理员Email地址 % T5 ^& V! w# l9 X) \0 c
DocumentRoot /export/home/dns0755
! U. t* ~5 g' _7 L' N站点根目录
( i. w: b5 h1 H T* }ServerName dns0755.net- {# h7 l' P; n( L$ e& }' k
站点主机名 9 b! `% |0 x4 F5 \( j
ServerAlias *.dns0755.net
% l" l* E W/ i2 r站点别名,“*”表示任意字符 4 }/ P7 W* M8 h9 p* j& i$ O
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
/ K2 |' E( j8 |! M/ `4 C执行脚本文件存放路径 * E5 @& Y/ N7 h
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
2 V* I# Q, m1 m) K8 _错误日志控制
3 g9 }9 l$ e: Y2 s: M0 ]* {CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
9 B- K. n; {8 o9 T% b4 w9 f" w访问日志 2 R! {* ~% m9 f) i
/usr/local/sbin/rotatelogs是日志管理程序! v+ F: U0 d0 W- {$ U' q- ~! b7 Y6 U
/var/log/http/dns0755.log是日志文件名
( ]1 o. z9 \- Q q9 Y% M604800的单位是秒,这种写法表示每隔7天产生一个日志文件
) w, p: X9 G0 ~) o2 a, C! |( D% w; w
?3 W( O. U; j6 |
, o; d* z$ A& m. t$ C4 c7 E2 T 如果有多个站点要添加,请重复执行第2步操作。 |