用Apache实现虚拟主机服务
程序员文章站
2022-05-08 20:20:21
...
什么是虚拟主机服务
所谓的虚拟主机服务就是指将一台机器虚拟成多台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地址浪费。
所谓的虚拟主机服务就是指将一台机器虚拟成多台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地址浪费。
上一篇: PHP爬虫之百万级别知乎用户数据爬取与分析,php爬虫
下一篇: PHP文件之间传值的四种方式说明
推荐阅读
-
Android实现与Apache Tomcat服务器数据交互(MySql数据库)
-
windows2003 apache配置虚拟主机和绑定域名服务
-
Apache服务器中使用.htaccess实现伪静态URL的方法
-
用XML+FSO+JS实现服务器端文件的选择
-
在Apache服务器上添加虚拟主机功能的方法
-
apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
-
用Python实现服务器中只重载被修改的进程的方法
-
用Python实现简单的服务器【新手必学】
-
nginx 配置虚拟主机,实现在一个服务器可以访问多个网站的方法
-
分享apache http服务器设置虚拟主机的方法