Apache2.4多虚拟主机VirtualHost三种实现

本文详细介绍了如何在Apache2.4上配置多虚拟主机,包括基于IP、端口和FQDN的实现方式,以及重启后排错的步骤。通过创建独立的配置文件,设置VirtualHost,创建测试网页,并调整主配置文件,最终实现多站点在同一服务器上的运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache httpd

Apache httpd虚拟主机

  • httpd 支持在一台物理主机上添加多个虚拟主机VirtualHost
  • 通过添加多个个虚拟主机可以实现同服务器多实例网站

网站的唯一标识:

  • IP相同,但端口不同
  • IP不同,但端口均为默认端口
  • FQDN不同, IP和端口都相同

多虚拟主机有三种实现方案:

  • 基于ip:为每个虚拟主机准备至少一个ip地址
  • 基于port:为每个虚拟主机使用至少一个独立的port
  • 基于FQDN:为每个虚拟主机使用至少一个FQDN,请求报文中首部
    注意:httpd 2.4版本中,基于FQDN的虚拟主机不再需要NameVirutalHost指令

虚拟主机的基本配置方法:

  • 在配置文件中添加VirtualHost
<VirtualHost IP:PORT>
ServerName FQDN
DocumentRoot "/path"
</VirtualHost>
  • 上述配置应该存放在独立的配置文件中
  • 配套设置
ServerAlias:虚拟主机的别名;可多次使用
ErrorLog: 错误日志
CustomLog:访问日志
<Directory "/path"> </Directory>

实现多虚拟主机VirtualHost

创建虚拟主机存放文件夹

[ -d /webDB ] || mkdir -pv /webDB/{logs,vhost,vhostslist}

[root@C8-192 ~]# [ -d /webDB ] || mkdir -pv /webDB/{vhost,vhostslist}
mkdir: created directory '/logs'
mkdir: created directory '/webDB'
mkdir: created directory '/webDB/vhost'
mkdir: created directory '/webDB/vhostslist'
  • 赋权
chown -R apache.apache /webDB

创建测试网页

mkdir -pv /webDB/vhosts/website{
   1..3}
for i in {
   1..3};do echo "I am host $i" >  /webDB/vhosts/website$i/index.html done
  • 示例
[root@C8-192 ~]# mkdir -pv /webDB/vhosts/website{1..3}
mkdir: created directory '/webDB/vhosts'
mkdir: created directory '/webDB/vhosts/website1'
mkdir: created directory '/webDB/vhosts/website2'
mkdir: created directory '/webDB/vhosts/website3'
[root@C8-192 ~]# for i in {1..3};do echo "I am host $i" >  /webDB/vhosts/website$i/index.html
> done
[root@C8-192 ~]# cat /webDB/vhosts/website1/index.html 
I am host 1
[root@C8-192 ~]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值