数学建模社区-数学中国

标题: 虚拟主机设置 [打印本页]

作者: 韩冰    时间: 2004-10-3 20:47
标题: 虚拟主机设置
虚拟主机原理

7 k/ w) x2 x/ y 4 {% Q" Y) H, q' Y7 @* _9 q6 E 8 {& \7 s; h! S4 X5 _

虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。

: I- |* l9 H5 e. k5 l- Q" A

虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。

0 z$ H3 K; Q2 i& p" ~

基于IP的方法:

+ R$ C' C8 ^" ~

首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。

4 A1 q% U" f1 @

基于主机名的方法:

' U5 c# I/ B6 \; h

首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。

L7 G0 E( z" s4 B

基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。

+ T6 [$ R- |% A4 c+ C/ s % K m2 e" q9 [

设置虚拟主机的主要步骤:

: Z/ V( u R j( J

1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。

6 b$ X- k% x; o" r0 X

2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。

) W1 u/ G, g8 q3 M7 @ 0 e+ ~+ U$ E( X4 |* I4 O% u# H: _' b2 a2 ?$ A # K- g' s8 L; i5 b' x8 k IIS虚拟主机设置

2 b# j; o1 w4 W& J* Q) Z) R+ { + ?- Q2 Z ^. C5 s0 z7 n

1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。

( I. {* _ W% R% c& z6 k; D

2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。

" B3 {+ Z9 p5 S6 O/ r$ O

3、输入站点说明,如“站点1”。按“下一步”。

: ^. J! R) _( G9 R

4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。

/ G4 @9 a3 D2 i0 S2 ]. _# I* v) e

5、在路径里指定站点的根目录路径。按“下一步”。

d* c6 a0 d' n- T3 \- J

6、在权限里选择适当的权限。按“下一步”,即可完成。

3 _ g6 E$ a3 ~! c0 o

如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:

7 O0 w4 u% m, f+ z

1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。

( c$ f0 o4 S; n. m8 b

2、在IP地址右边点击“高级”。

# `/ K6 B# F# k8 C+ G/ p6 x/ t

3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。

; `0 u9 k2 A4 ~+ o) j; Q1 o" X6 h7 N5 r7 D

如果有多个站点要添加,请重复执行上面的步骤。

) I0 C3 g' y- C9 X4 x" w / _" L- i5 J a9 Y* [7 Z m3 R- i9 I: h0 o ) }7 r& a7 s1 _. D* ~Apache虚拟主机设置

4 g3 Z* s& v8 E, L) M& G- y/ p1 N , ?* u$ w5 I$ w1 V0 l8 ^5 I

1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。

3 v' T- _; |& u, u/ i+ T/ ]- g

2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:

/ s# m5 `2 C: h

<VirtualHost *> t, w; |4 v& F* S9 u- P ServerAdmin webmaster@comexe.cn1 m! X: B# u9 b9 m/ c2 a DocumentRoot /export/home/dns0755 3 X' m! b$ }4 j" Z$ b( l" z9 n/ ? ServerName dns0755.net2 J% O* m/ n) q s9 S! M ServerAlias *.dns0755.net& o# R# d7 c# p! @# B: A& ^ ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/$ \3 U* C# N& R/ t ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800", x6 e4 A7 x, V CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined " l" s& z" g# K; l: m1 S+ C$ L </VirtualHost>

/ d. b5 @' s4 ?& a1 A5 V# @# ~

说明:

% K% z4 n% [2 A) n* k, ?5 l

ServerAdmin webmaster@comexe.cn " |- _! J6 J* q# C: X站点管理员Email地址

/ m& n; z/ r8 G

DocumentRoot /export/home/dns0755 8 d8 \4 N# x- X- @0 \6 g2 [站点根目录

8 y5 J- y+ k9 s" @$ V

ServerName dns0755.net k! g% |- a1 L3 H; W+ M 站点主机名

% X" h8 Z8 X. q" X O

ServerAlias *.dns0755.net6 R* g3 J, S1 H& c 站点别名,“*”表示任意字符

2 @& @) P) K. e% p, v% k6 Z$ g

ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/ ! a+ ~9 J2 h+ I, \' k) R* C9 ~执行脚本文件存放路径

6 y, n3 U* m$ m; w2 ?, ^

ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800" p6 \, n W/ l3 P$ |" Z9 f" s错误日志控制

m# f% `0 t! d9 s4 p3 g2 C6 o

CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined, v; \5 `* Y F2 L4 S- q2 A& Q 访问日志

$ X6 @2 e2 H1 E- u3 y

/usr/local/sbin/rotatelogs是日志管理程序6 G/ N! B$ O( v" I" d /var/log/http/dns0755.log是日志文件名 $ b* _6 B! O1 w( s$ u6 {% k604800的单位是秒,这种写法表示每隔7天产生一个日志文件

9 ]8 l7 G0 G" ]5 e. X1 } * h2 E: c u! f9 M) ^( A. B% g1 R5 v+ A; }# q* V

如果有多个站点要添加,请重复执行第2步操作。






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5