|
虚拟主机原理! E; R8 P) P4 ^2 P
- m8 F; C J3 P# [. u
! K' s3 F9 n# y9 L3 i8 i! V
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。 * \' V* U/ A9 U4 k$ }- Y
虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
3 `0 B0 A' Q; T基于IP的方法:
1 E( C9 W r' t* ]4 `3 B s 首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。 3 ]3 ~; o* l4 B1 E7 {5 `
基于主机名的方法: b/ ]$ v6 O) L3 |- F: a$ f
首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。 , k, |! I, w x
基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。 " E' C! W7 e# R+ i" S0 Z# s& |
: L' t1 f E) h2 k9 V0 }设置虚拟主机的主要步骤:
4 }( S! Z7 M4 ?5 L; }& A1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
0 G0 T/ l- ~8 c5 }+ P2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。 + l g) K$ f `( X% {) n
/ b# R2 K8 z! G# o! s$ E& M9 z2 \ s3 }3 i
, d8 `) y# S. x- P# z
IIS虚拟主机设置
1 N; P( ?6 Z; z7 R. e5 D7 b# l6 X* a" d$ i/ O" R
1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。 : b6 t3 }& U0 q. _+ C @
2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。
D& V- l8 h: a& R3、输入站点说明,如“站点1”。按“下一步”。
& v! q1 [5 n6 x0 E) a+ E. j4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。 : K8 j' U; k% `7 q9 I( Q- P9 n+ a
5、在路径里指定站点的根目录路径。按“下一步”。
+ E5 d* k& w+ A- H& a* ?6、在权限里选择适当的权限。按“下一步”,即可完成。
( L; h/ @% j* N3 J3 _' a7 @ 如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:
6 f& K0 F- w) A$ e) O, F4 `1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。
+ O9 O$ L/ Y! ~( i( q2、在IP地址右边点击“高级”。
# u3 D3 m4 t) p+ U0 n: s4 m: x3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。
. t: W0 M: c/ |" E2 D! i- F8 f8 L+ k6 d/ _
如果有多个站点要添加,请重复执行上面的步骤。
; {5 K5 k1 y; o; }7 d" x% l/ [
( `2 [" S9 i" e2 B$ R- ?; F! X0 U9 `. r" |# r' B, Q
! X$ o h1 \" ^6 h9 fApache虚拟主机设置
- ]9 Z8 j& K2 P1 o6 a5 B1 M- U/ I3 m
1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。 ! L; q5 E! G+ r
2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
. B0 S% {6 I6 p3 O/ I <VirtualHost *>
' n5 h9 o* I: u7 v ServerAdmin webmaster@comexe.cn
3 i$ Z; _! ?8 d3 t2 L DocumentRoot /export/home/dns0755
4 ~7 {; R3 a1 V) e ServerName dns0755.net
. X5 \4 `. c& H7 k+ w V ServerAlias *.dns0755.net
$ |. ?* _* v" b# ], h! q- T$ v& C ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
( a" i. ^3 }0 [! u. A! V ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"+ l4 B# [0 f" Q1 f3 z: Z! h
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
& h' H0 c" f' b. T* v& _ </VirtualHost>
- U7 j9 v$ n+ m5 i# d9 X' e3 l说明: 6 f$ D4 L( h. ^% Q& ~
ServerAdmin webmaster@comexe.cn
9 U9 a$ Q7 C% O* G0 o( h+ j站点管理员Email地址 & [7 I1 r7 T: W) S! I" e# ^9 ` m
DocumentRoot /export/home/dns0755
7 G2 s; g! M! p& c) L6 T& p: i7 d站点根目录 ! q& i @7 D+ b7 J0 p7 |' R
ServerName dns0755.net6 L$ a" p! m2 P' h
站点主机名 ( H4 r- ?! Q, K6 `6 L. T$ K
ServerAlias *.dns0755.net; t! L6 I' T3 k4 Q: a! k: ?) z
站点别名,“*”表示任意字符
+ C3 q! C% d9 D2 u9 yScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
; i# E3 _ K% X/ @执行脚本文件存放路径 9 \% J# Y" o$ d, m1 A9 [8 x
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"! h$ X, P; Q* y1 c" P
错误日志控制
/ O! U/ K1 W4 n! @CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
0 k y! n6 v% v/ Y( R& S访问日志
' E. X. _. r* A1 l# H2 M8 N/usr/local/sbin/rotatelogs是日志管理程序4 _2 s) {& @9 t; W' ~# ]& N
/var/log/http/dns0755.log是日志文件名
7 N5 w, b, N* \ l, S8 b604800的单位是秒,这种写法表示每隔7天产生一个日志文件 / s0 f- c+ O1 Z* L2 i
3 l( k( g: p9 X8 B
) z. ~& x" o, X, a% \ 如果有多个站点要添加,请重复执行第2步操作。 |