|
虚拟主机原理
# I4 \# V6 ^ w% D' B+ l" y D8 K* I0 j0 T, H# g
6 i5 I) W$ r9 B, _' L: e
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。
0 y# u6 {" n* j! q4 r0 D a 虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
# D# `: W3 N6 k& j' ]8 R基于IP的方法: 3 v$ ?& ]% L) W8 N9 v6 D
首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。 3 `9 v4 h; X+ P, B2 e6 _
基于主机名的方法:
# h8 `9 a5 v7 m7 F+ X 首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
) [ R& H9 Z& R3 g$ ~ 基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。 2 s0 b* i( U2 Y# [, G% Z! o y
/ H8 W$ x/ r: F! x, X. ?; z' D
设置虚拟主机的主要步骤:
- c* `3 z& k3 x1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
$ l& N- F1 a/ Z, f( M2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。
# F( @7 N- M9 i4 q# v) }$ D
+ a t0 n- n. J/ H$ W+ P
* [: T$ ^/ V, _4 h6 q% I# |$ O8 U( w' C# |
IIS虚拟主机设置
+ s) Y' F/ `9 y3 V ^. m/ W
+ T# F( r( e# S7 l9 @/ A3 ]3 O8 q1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。 6 X+ b" `2 Z: E7 R' G3 J
2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。
; Z" p& T( j9 T" j1 ?7 V3、输入站点说明,如“站点1”。按“下一步”。
, W: P1 U# S+ l3 w) _2 j6 K: }* `6 G4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。
2 I, ~* W( k) a# e8 N" D5、在路径里指定站点的根目录路径。按“下一步”。 6 t1 ?8 B8 @! Q8 y& y& V& N9 W
6、在权限里选择适当的权限。按“下一步”,即可完成。 * K# p6 u7 L6 e. P7 w
如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下: " y0 \3 f, v4 _. `. j8 R0 q; o. u
1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。
& V/ c) e# x7 o- K6 R* q" ^2、在IP地址右边点击“高级”。 : k1 [; E2 X1 v0 N
3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。 0 c" x+ J7 ]2 I
% M8 w( r9 N+ I( u- ^0 u# b; P. l- f 如果有多个站点要添加,请重复执行上面的步骤。
s; v- d% S+ ^: ] _* [ d( `1 \4 J/ v- w
8 C- l! k5 a5 O5 y
?& Q: z1 w' S4 ^Apache虚拟主机设置8 z+ t- @2 {# ^; E; v O
% v2 O! [3 U9 n3 F$ }
1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。 ( b* F1 f! j; h
2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下: 3 q- t7 g& [/ w; ~/ {* \4 g
<VirtualHost *>4 R/ O. ^$ l. [$ N2 q
ServerAdmin webmaster@comexe.cn+ q- D) Y, T W
DocumentRoot /export/home/dns0755
0 p9 k" ~ E5 _, y) S8 w0 E8 m ServerName dns0755.net
" ^# \8 z8 ]' `% d! [3 G ServerAlias *.dns0755.net
5 t+ u9 w0 k' F( Z3 f2 y: r ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/- k) W6 n% g2 e+ h4 E
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800". r' `1 ]5 E' Q# P
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined' w1 | O' E/ Z# M% h, c7 G
</VirtualHost>
% S8 L1 `3 U% v说明: 6 k0 q1 W4 c+ D0 x i$ \6 N
ServerAdmin webmaster@comexe.cn
& E4 C. I- m! O站点管理员Email地址
4 g$ p: Y; {4 _* [# V7 Y2 Y' `6 kDocumentRoot /export/home/dns0755
: ?% e5 I. X. h站点根目录 3 h: P& p7 S3 h y9 T5 j
ServerName dns0755.net
% k. L0 A5 g$ @站点主机名 * N/ m! K O- x6 }0 o* j$ }5 q. h
ServerAlias *.dns0755.net2 v0 L: E' Z) G- {: w6 d8 m, e
站点别名,“*”表示任意字符 . W$ W- \% \8 s# e7 O8 w' S
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
! ?, ]! J' o) U. {执行脚本文件存放路径 7 |) T/ y3 N# M/ ?: L: ]
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800": Z* \2 ]. r1 q6 f ?+ l
错误日志控制 ) \) E: x5 N, U$ L. }0 X
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined& g5 b6 }% V( F% m( A. S8 D9 u
访问日志
" d6 y2 i6 C9 U# f, N/usr/local/sbin/rotatelogs是日志管理程序
% m+ ?; N8 v4 K7 X/var/log/http/dns0755.log是日志文件名, u% d1 X8 H) g D
604800的单位是秒,这种写法表示每隔7天产生一个日志文件 ( `6 q( @- G2 Y& K+ n/ e' B
# Z0 m. l2 L, [3 m+ B ~
$ a$ E! x2 O* m. s7 @* e! l
如果有多个站点要添加,请重复执行第2步操作。 |