|
虚拟主机原理
0 |( z9 H( O, ?! d" J8 P( f* o/ Z1 N- d
6 A5 ?! {/ I: V( Q5 _$ J 虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。 : i! e7 g4 s$ v# U# K' w8 Y0 }/ [' ~
虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。 [/ Q; F( _% y5 `
基于IP的方法: 0 o: Q0 W3 s; q4 r9 U, | a
首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。 # ^; Q! g3 c6 r' Y
基于主机名的方法:
- E' b) m8 ]* N. H$ n 首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。 ( [4 b* z8 B/ U6 q/ `- u
基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。
: C7 Q$ [1 _; W; ]( c* Q/ X7 G$ `* ?. x! M# P6 o
设置虚拟主机的主要步骤: 2 H: a2 I8 y1 b+ O
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
) f ]2 D/ T# }) f( a) P2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。
/ h$ } ^& E' w6 z4 ]) |
) c6 H; ?! M5 I. n2 `2 {7 K( y7 y7 L- T
* }# T$ w G5 ]) g4 }* h
IIS虚拟主机设置' i$ i( f& s& V: |
) i" Z4 r- I$ K; b6 Z
1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。
! w, V/ C8 R ^% y: \2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。 , l4 b' i: T3 e* T5 M
3、输入站点说明,如“站点1”。按“下一步”。
8 ]# O$ R3 O$ [( e( P" L4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 ! F& ~) H o& b1 [* u$ \5 m
5、在路径里指定站点的根目录路径。按“下一步”。
- q0 H( y6 @7 ^7 s3 N* B6、在权限里选择适当的权限。按“下一步”,即可完成。
3 K- {# `1 P- l9 ? 如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:
$ [, }& f, A/ i( b! y8 P2 K1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。 # z3 H9 _8 x5 S+ U" K
2、在IP地址右边点击“高级”。 6 S3 T, ^0 `6 b( v" Z+ m
3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。
3 e1 p8 T) y$ \# C
% O8 O+ j& A) R2 `0 E 如果有多个站点要添加,请重复执行上面的步骤。
$ K( D8 C7 \7 ?% y" s! v- A0 r
( \7 ^- o* M; W6 x, |) e5 |
! A/ ^8 O2 }& T* ]% G4 |! _
8 q2 V! t4 L, M- W: XApache虚拟主机设置
5 B6 x% j% J# m' S, o$ r* i- m, l5 P4 v7 _/ n- A4 Z; ]
1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。
4 y5 g, F3 }) Z C; m6 f' ]# u- \2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
/ I$ l% s F: W1 ^/ W4 S5 K) c <VirtualHost *>, e7 f5 I- O4 j+ |. r) z
ServerAdmin webmaster@comexe.cn
7 o3 b: V( O* j6 }2 e DocumentRoot /export/home/dns0755
' Q6 o0 X/ W1 m8 a8 D6 w4 [ ServerName dns0755.net/ V2 E. F3 F( B% z" z
ServerAlias *.dns0755.net( A- n7 o# q1 i% q/ V
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
5 r: r. q* z3 h. `$ T ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
" E$ [3 D1 e e7 @6 a CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined, @; D3 [9 K0 o3 j% A$ E0 W. @, {
</VirtualHost>
3 y8 z# S! n5 l% A# f说明:
( m0 b0 a% w0 LServerAdmin webmaster@comexe.cn
3 U, E8 r/ ^2 x/ C$ W站点管理员Email地址 ; Q1 a+ ~/ o9 @" E" V: j
DocumentRoot /export/home/dns0755
4 K/ O. H- t; ^# J" H" R站点根目录 0 Z# p1 h$ O5 j; m- ?2 E
ServerName dns0755.net
5 H5 U) r8 G' v8 Z0 L) u1 D站点主机名 9 X; z. H: x, Q4 M4 a1 O9 H. g
ServerAlias *.dns0755.net
# Z" n1 R) M+ l' v7 z站点别名,“*”表示任意字符 5 @! S: F* \& V+ P, O
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/+ c+ C% q. W8 U2 f: v7 E% q" s
执行脚本文件存放路径 " P" c/ [" T1 P3 x6 Y# V. N$ Q
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"3 Z& O {/ b0 l) i9 X0 D- c
错误日志控制
7 A% N5 _) I8 }6 QCustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
, ^" B3 w) t% R" ?: `访问日志 3 e" I6 X. ? T' G B
/usr/local/sbin/rotatelogs是日志管理程序
" h% o, ^+ a1 t5 `0 g% l8 x/var/log/http/dns0755.log是日志文件名
& x6 T3 N: t! @604800的单位是秒,这种写法表示每隔7天产生一个日志文件 6 B, b Q- x2 B0 L& `
$ }7 A4 \1 I/ {' j9 s
! } j' C- k: O/ Z$ C 如果有多个站点要添加,请重复执行第2步操作。 |