apache用include实现虚拟主机拆分管理的核心是“一个站点一个文件+统一目录+主配置一次引入”;需创建专用目录(如/etc/apache2/sites-available)、设644权限,在apache2.conf全局上下文添加include指令引入,再为各站点编写独立virtualhost配置文件并启用。

Apache 用 Include 把各站点独立管理,核心是“一个站点一个文件 + 统一目录 + 主配置里一次引入”,避免所有虚拟主机挤在同一个配置文件里。
创建专用站点配置目录
别往 httpd.conf 或 apache2.conf 里硬塞站点配置。先建个干净目录专门放站点文件:
- Debian/Ubuntu 推荐:
/etc/apache2/sites-available/(存原始配置)+/etc/apache2/sites-enabled/(存符号链接) - RHEL/CentOS 推荐:
/etc/httpd/vhost/(直接放 .conf 文件,权限设为644) - 确保 Apache 进程有读取权限,一般 root 创建后默认即可
在主配置中启用批量加载
打开主配置文件(/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf),在全局上下文(不能在 <virtualhost></virtualhost> 块内)添加一行:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 推荐写法(带容错):
IncludeOptional /etc/apache2/sites-enabled/*.conf - 或严格路径(需确保目录存在):
Include /etc/httpd/vhost/*.conf - 绝对路径最稳妥;相对路径以
ServerRoot为准,容易出错,不建议
每个站点单独写一个 .conf 文件
在 sites-available/(或你定义的目录)里,为每个站点新建一个标准 VirtualHost 配置文件,例如:
/etc/apache2/sites-available/example.com.conf/etc/apache2/sites-available/blog.myapp.net.conf- 内容必须完整:含
<virtualhost></virtualhost>、ServerName、DocumentRoot等必要指令 - 文件名建议用域名命名,便于识别;避免
.swp、~、.bak等临时文件,否则 Apache 会尝试加载并报错
启用与验证流程
启用某个站点时,不要直接复制文件到 sites-enabled/,而是用符号链接或工具管理:
- Debian/Ubuntu:
a2ensite example.com.conf(自动创建符号链接) - 手动链接:
ln -sf /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/ - 每次改完配置,先运行
apachectl configtest或httpd -t检查语法 - 确认无误后再
systemctl reload apache2(或apachectl graceful)生效










