主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

3

听众

32

主题
发表于 2014-11-17 14:29:31 | 查看: 988| 回复: 0
本帖最后由 神的眷顾 于 2014-11-17 14:31 编辑

使用Apache虚拟主机,你可以在同一台服务器上运行多个网站。
例如,我可以一直在其上运行一个Apache网络服务器一台物理服务器上同时运行thegeekstuff.com和top5freeware.com。

[size=0.857em]图:Apache虚拟主机(多个网站,人们阿帕奇)


有两种类型的Apache虚拟主机配置:1)基于IP的虚拟主机和2)基于名字的虚拟主机。 基于域名的虚拟主机的建议大多数场景。
基于IP的虚拟主机

在这种配置中,当您指向两个网站(具有不同的IP地址)来运行的Apache服务器,该物理服务器应具有配置了两个不同的IP地址。
这意味着,服务器应该有两个网卡,其中的每一个配置到Apache的虚拟主机将服务于相应的网站的IP地址。 所以,这是不实际的许多方面,你不应该使用这个。
在下面的示例中,服务器包含两个NIC卡,一个被配置以192.168.101.1的IP地址为thegeekstuff.com,另一个被配置为192.168.102.1 top5freeware.com。 这两个IP地址通过使用基于IP的虚拟主机服务器上运行一个单一的Apache网络服务器提供服务。
[size=0.857em]图:Apache的基于IP的虚拟主机


基于域名的虚拟主机
在这种配置中,当Apache网络服务器接收到一个请求时,它会在HTTP头中的主机名,并根据不同的主机名,它的服务器不同的网站。 这是很容易的,因为你需要一个物理服务器上只有一个IP地址; 但是,你更新多个网站名称都指向同一个IP地址的DNS。 对于所有的实际目的,你就可以只使用基于域名的虚拟主机配置。
在下面的示例中,服务器只包含一个NIC卡,其被配置用192.168.101.1的IP地址。 为thegeekstuff.com和top5freeware.com网站指向192.168.101.1 IP地址的DNS条目。 当Apache收到<br/>要求,它看起来在HTTP头中的主机名条目,并提供相应的网站。
[size=0.857em]图:Apache的基于域名的虚拟主机

1.取消注释的httpd-vhosts.conf在httpd.conf
如果你从源代码安装了Apache 2 ,默认情况下,下面的行会被注释在httpd.conf文件。 注释此行。

  #六/usr/local/apache2/conf/httpd.conf包括的conf /外/的httpd-vhosts.conf

2.设置虚拟主机
修改如下图所示设置命名基础的虚拟主机设置两台主机在httpd-vhosts.conf。

  • 了NameVirtualHost *:80 - 表示所有的基于域名的虚拟主机会被监听的默认端口80
  • <虚拟主机*:80> </虚拟主机> - 附上所有为每个这些虚拟主机标签之间的每一个虚拟主机apache的配置参数。任何Apache指令可以在该虚拟主机容器中使用。
  • 在下面的例子中,我们设置虚拟主机thegeekstuff.com和top5freeware.com监听相同的端口80等,将有两个的<VirtualHost *:80> </ VirtualHost>段,每一个网站。
  • 当你去thegeekstuff.com,这些文件在/ usr /本地/的Apache2 /文档/ thegeekstuff将被Apache提供服务; 和的access_log和error_log中的这个网站将在/ usr /本地/ Apache2的/日志/ thegeekstuff去
  #六/usr/local/apache2/conf/extra/httpd-vhosts.conf了NameVirtualHost *:80 <虚拟主机*:80>    的ServerAdmin   的DocumentRoot“的/ usr /本地/的Apache2 /文档/ thegeekstuff”    服务器名thegeekstuff.com     ServerAlias​​    错误日志“日志/ thegeekstuff / error_log中”    的CustomLog“日志/ thegeekstuff / access_log中”共同 </虚拟主机> <虚拟主机*:80>    的ServerAdmin   的DocumentRoot“的/ usr /本地/的Apache2 /文档/ top5freeware”    服务器名top5freeware.com     ServerAlias​​     错误日志“日志/ top5freeware / error_log中”    的CustomLog“日志/ top5freeware / access_log中”共同 </虚拟主机>

  3.检查虚拟主机的配置语法
验证使用“的httpd -S”,如下图所示的虚拟配置语法。 当一切都设置正确,它只是显示“语法OK”。

  #的/ usr /本地/ Apache2的/ bin中/的httpd -S虚拟主机的配置:语法OK

  
当一些配置不正确,会显示警告信息,其中包括“目录不退出”的消息,如下图所示。

  #的/ usr /本地/ Apache2的/ bin中/的httpd -S警告:DocumentRoot的[的/ usr /本地/ Apache2的/ DOCS / top5freeware]不存在警告:错误日志[/ USR /本地/的Apache2 /日志/ thegeekstuff]不存在语法OK 4.重新启动Apache和测试 #的/ usr /本地/的Apache2 /斌/ apachectl中重启

现在,当你去thegeekstuff.co,在Apache将成为从/ usr /本地/的Apache2 /文档/ thegeekstuff目录中的文件。

当你去top5freeware.co,在同一台服务器上的同一个Apache的运行会从/ usr /本地/的Apache2 /文档/ top5freeware目录服务中的文件。


收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-16 17:10 , Processed in 0.073379 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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