apche2.4 基于前缀域名的虚拟主机配置

本文介绍如何在Apache服务器中配置基于域名的虚拟主机,包括多个不同域名的网站配置示例,如api.red.com、frontend.red.com及backend.red.com,并详细展示了httpd.conf文件中的设置。

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

首先说明,基于前缀的域名和基于域名的虚拟主机是一个概念,所以和基于域名的虚拟的主机没什么两样

第一步  

打开apache下httpd.conf文件

启用模块LoadModule vhost_alias_module modules/mod_vhost_alias.so

NameVirtualHost 这个参数在Apache2.4 这个版本已经被去除了。。


<VirtualHost *:80>
    ServerAdmin 957963898@qq.com
DocumentRoot "D:\PHP\www\advanced\api\web"
    ServerName api.red.com
    ServerAlias api.red.com
    ErrorLog "logs/api.red.com.log"
    CustomLog "logs/api.red.com.CustomLog.log" common

   <Directory "D:\PHP\www\advanced\api\web">
        Require all granted
   </Directory>
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin 957963898@qq.com
DocumentRoot "D:\PHP\www\advanced\frontend\web"
    ServerName frontend.red.com
    ServerAlias frontend.red.com
    ErrorLog "logs/frontend.red.com.log"
    CustomLog "logs/frontend.red.com.CustomLog.log" common

   <Directory "D:\PHP\www\advanced\frontend\web">
        Require all granted
   </Directory>
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin 957963898@qq.com
DocumentRoot "D:\PHP\www\advanced\backend\web"
    ServerName backend.red.com
    ServerAlias backend.red.com
    ErrorLog "logs/backend.red.com.log"
    CustomLog "logs/backend.red.com.CustomLog.log" common

   <Directory "D:\PHP\www\advanced\backend\web">
        Require all granted
   </Directory>
</VirtualHost>


Apache HTTP服务器通过其强大的模块化设计支持虚拟主机配置,允许在同一台物理机器上托管多个网站或Web应用程序。对于Apache 2.4版本来说,设置虚拟主机涉及编辑`httpd.conf`文件(Windows环境下)或者是位于`/etc/apache2/sites-available/`目录下的`.conf`文件(Linux环境中)。以下是针对Apache 2.4的基本步骤指南: ### 步骤一:启用必要的模块 首先确认已启用了处理名称为基础的虚拟主机所需的模块——namely `mod_rewrite` 和 `vhost_alias`. ```bash a2enmod rewrite vhost_alias ``` 然后重启Apache服务使更改生效。 ### 步骤二:创建站点配置文件 每个虚拟主机应该拥有独立的配置文件;例如我们要添加名为example.com的新虚拟主机,则应在`sites-available`下新建一个叫做`example.com.conf`的文本档,并加入下面内容作为示例: #### 对于HTTP (端口80): ```apache <VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "/var/www/html/example" ServerName example.com ServerAlias www.example.com <Directory /var/www/html/example/> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 请注意将路径、域名等信息替换为你自己的实际值. ### 步骤三:激活新配置并测试 当完成上述所有操作之后,请记得运行命令来启用新的虚拟主机: ```bash a2ensite example.com.conf # 替换为您的配置文件名 systemctl reload apache2 # 或 service apache2 reload 如果不是systemd系统 ``` 最后一步非常重要 - 检查语法错误: ```bash apachectl configtest ``` 如果一切正常的话,你应该能够访问到刚刚建立好的虚拟主机组件了! --
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值