免费注册 找回密码     

查看: 3512|回复: 0
打印 上一主题 下一主题

虚拟主机原理

[复制链接]

2万

主题

2万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1
发表于 2009/11/13 01:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。
    虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。
基于IP的方法:
    首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
基于主机名的方法:
    首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
    基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。

设置虚拟主机的主要步骤:
1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。
2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。



IIS虚拟主机设置

1、打开“控制面板”->“管理工具”->“Internet服务管理器”->“默认web站点”。
2、在“默认web站点”上按鼠标右键,选择“新建”->“站点”。按“下一步”。
3、输入站点说明,如“站点1”。按“下一步”。
4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。
5、在路径里指定站点的根目录路径。按“下一步”。
6、在权限里选择适当的权限。按“下一步”,即可完成。
    如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用www.abc.com”也能访问。设置步骤如下:
1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。
2、在IP地址右边点击“高级”。
3、点击“添加”,输入端口号(一般用80),再输入主机头名www.abc.com”。

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



Apache虚拟主机设置

1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。
2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:
        <VirtualHost *>
        ServerAdmin webmaster@comexe.cn
        DocumentRoot /export/home/dns0755
        ServerName dns0755.net
        ServerAlias *.dns0755.net
        ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
        ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
        CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
        </VirtualHost>
说明:
ServerAdmin webmaster@comexe.cn
站点管理员Email地址
DocumentRoot /export/home/dns0755
站点根目录
ServerName dns0755.net
站点主机名
ServerAlias *.dns0755.net
站点别名,“*”表示任意字符
ScriptAlias /cgi-bin/ /export/home/dns0755/cgi-bin/
执行脚本文件存放路径
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
错误日志控制
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
访问日志
/usr/local/sbin/rotatelogs是日志管理程序
/var/log/http/dns0755.log是日志文件名
604800的单位是秒,这种写法表示每隔7天产生一个日志文件

    如果有多个站点要添加,请重复执行第2步操作。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|Archiver|兴宁A8 ( 粤ICP备08126561号-15 粤公网安备44140202000139号)  

GMT+8, 2024/10/5 18:23

© 兴宁A8

手机绑定 兴宁A8支持手机、电脑、平板一站式访问!

快速回复 返回顶部 返回列表