社区
基础编程
帖子详情
如何设置虚拟主机?
killtime
2003-03-25 01:37:10
系统为win2k + apache +php,请问php以apache模块方式安装后,设置了两个虚拟主机abc.com、abc.net。现在我希望在abc.com中支持php而abc.net中不支持php该如何配置apache!
...全文
406
4
打赏
收藏
如何设置虚拟主机?
系统为win2k + apache +php,请问php以apache模块方式安装后,设置了两个虚拟主机abc.com、abc.net。现在我希望在abc.com中支持php而abc.net中不支持php该如何配置apache!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
killtime
2003-03-28
打赏
举报
回复
up
killtime
2003-03-26
打赏
举报
回复
注意,我的php是以apache模块方式安装的,xuzuning(唠叨) 君的方法好像是不能达到我的目的的!
zykj_2000
2003-03-25
打赏
举报
回复
所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供WEB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,提供多个企业的WEB服务,虽然所有的WEB服务就是这台服务器提供的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。
具体地说,就是,我们可以利用虚拟主机服务将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容。
用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,下面我们分别介绍一下它们的实现方法。以便大家在具体的应用中能够选择最合适的实现方法。
设置实现基于IP地址的虚拟主机服务
实现前提
这种方式需要在机器上设置IP别名,也就是在一台机器的网卡上绑定多个
IP地址去为多个虚拟主机服务。而且要使用这项功能还要确定在你的LINUX内核中必须支持IP别名的设置,否则你还必须重新编译内核。
下面举一个拥有两个虚拟主机的服务设置,以供参考。
2.配置步骤
假设,我们用来实现虚拟主机服务的机器,首先已经为自己提供了WEB服务,现在将为新的一家公司www.company1.com提供虚拟主机服务。
规划IP地址:为虚拟主机申请新的IP地址。(假设本机IP地址为202.101.2.1)
Www.company1.com 202.101.2.2
2) 让ISP作好相应的域名解析工作。
3) 为网卡设置IP别名:
/sbin/ifconfig eth0:0 202.101.2.2 netmask 255.255.255.0
4) 重新设置“/etc/httpd/conf/httpd.conf”,在文件中加入:
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/www.company1.com
ServerName www.company1.com
ErrorLog /var/log/httpd/www.company1.com/error.log
5)建立相应的目录。
mkdir /home/httpd/www.company1.com
mkdir /var/log/httpd/www.company1.com/error.log
6)将相应的主页内容存放在相应的目录中即可。
3.不利因素
这种虚拟主机的实现方法有一个严重的不足,那就是,每增加一个虚拟主机,就必须增加一个IP地址。而由于IP地址空间已经十分紧张,所以通常情况下是无法取得这么多的IP地址的。而且从某种意义上说,这也是一种IP地址浪费。
设置实现基于名字的虚拟主机服务
而基于名字的虚拟主机服务,是比较适合使用的一种方案。因为它不需要更多的IP地址,而且配置简单,无须什么特殊的软硬件支持。现代的浏览器大都支持这种虚拟主机的实现方法。当然,这也就是指一些早期的客户端浏览器也许不支持这种虚拟主机的实现方法。
正是以上原因,我们没有理由不使用基于名字的虚拟主机服务而使用基于IP地址的虚拟主机服务。配置基于名字的虚拟主机服务需要修改配置文件:“/etc/httpd/conf/httpd.conf”,在这个配置文件中增加以下内容。
NameVirtualHost 202.101.2.1
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/www.company1.com
ServerName www.company1.com
ErrorLog /var/log/httpd/www.company1.com/error.log
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/www.company2.com
ServerName www.company2.com
ErrorLog /var/log/httpd/www.company2.com/error.log
也就是在基于IP地址的配置基础上增加一句:NameVirtualHost 202.101.2.1而已。在本例中,为了体现只需要增加一次,所以特别地设置了两个虚拟主机服务。
最后也是建立相应的目录,将主页内容放到相应的目录中去就可以了
xuzuning
2003-03-25
打赏
举报
回复
你可以设置php.ini中的doc_root为abc.com所在目录
企业级 VMware vSphere 6.7虚拟化技术配置与管理(上)
《企业级 VMware vSphere 6.7虚拟化技术配置与管理》课程共分为“上集”和“下集”两部分,本套视频为“上集”部分,从零基础讲起,由浅入深,是虚拟化入门与提高学习推荐课程。 通过本课程学习,可以全面、...
中小型企业创业初期选择、选购域名、
虚拟主机
、服务器攻略大全
试用人群: 本套视频针对没有技术经验的人群录制、普通话大白话,尽力用非专业化的语言让非技术领域创业者在选购服务器时,有一个整体的认识。解答了一些常见的技巧性问题如果您是一名微小型创业者、非技术领域企业...
VSphere高可用企业级虚拟化ESXi+FT HA+监控教程
学习虚拟化主机安装配置管理等内容,创建虚拟机、在虚拟机中安装操作系统、管理ESXi网络、管理ESXi存储,创建虚拟机模板、从模板部署虚拟机,配置群集(HA)、虚拟机容错(FT),使用Veeam备份与恢复虚拟机的内容。...
参透 VMware 桌面级虚拟化
自从某年某月开始,虚拟化产品大行其道,使得我们对硬件(例如网络产品),对操作系统(例如:微软Server、Linux、Unix),对于网络环境的个人布置变得有可能,且可以自我深造,所以学好或参透一款产品的虚拟机...
JavaEE开发教程之容器虚拟化技术(附讲义)
随着信息技术的飞速发展,虚拟化技术得到了广泛的发展,从主机虚拟化再到后来的虚拟机虚拟化,再到现在以Docker为代表的容器技术,虚拟化技术不断的在创新和突破。Docker技术目前在开发与运维中使用的越来越多,...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章