Apache二级域名怎么配置?apache二级域名设置教程
- 运维技术
- 2026-08-08
- 6
在Apache服务器上配置二级域名,核心是通过修改httpd.conf或虚拟主机配置文件,利用
二级域名配置基础:Apache虚拟主机机制
Apache通过虚拟主机(Virtual Host)技术实现同一IP上运行多个网站,二级域名配置本质上是基于域名的虚拟主机,系统根据HTTP请求中的Host头匹配对应站点。
核心概念与原理
- NameVirtualHost:开启基于域名的虚拟主机,需在全局配置中启用 NameVirtualHost :80(或特定IP)。
- 定义站点容器,内部设定ServerName(二级域名全称)、DocumentRoot(站点根目录)、Directory权限等。
- 匹配顺序:Apache按配置文件中虚拟主机的先后顺序匹配,第一个匹配的ServerName生效,若未匹配到,则使用第一个默认虚拟主机。
与默认站点的区别
- 默认站点由 httpd.conf 中的 <VirtualHost _default_:80> 定义,通常对应主域名。
- 二级域名站点需明确指定ServerName,如 ServerName blog.example.com。
- 若未配置NameVirtualHost,Apache默认使用第一个虚拟主机作为所有域名的响应,导致二级域名访问混乱。
详细配置步骤:从零到二级域名正常访问
以下流程适用于 Apache 2.4/2.5
环境,兼顾CentOS与Ubuntu系统,整个配置过程需注意权限与路径规范。
环境准备与DNS解析
- 确保二级域名已在DNS服务商处添加A记录或CNAME,指向服务器公网IP。
-

验证解析:ping blog.example.com 应返回正确IP,若未生效,等待TTL刷新或使用本地hosts文件测试。
创建网站目录文件
- 创建二级域名对应目录,如 /var/www/blog。
- 设置目录所有者:chown -R apache:apache /var/www/blog(或www-data)。
- 编写测试文件 index.html 或 index.php可区分。
修改Apache配置文件
- 主配置文件:在 /etc/httpd/conf/httpd.conf(CentOS)或 /etc/apache2/apache2.conf(Ubuntu)中确保包含虚拟主机配置目录。
- 虚拟主机文件:推荐在 /etc/httpd/conf.d/ 或 /etc/apache2/sites-available/ 下新建站点配置文件。
<VirtualHost :80> ServerName blog.example.com DocumentRoot /var/www/blog <Directory /var/www/blog> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog logs/blog-error.log CustomLog logs/blog-access.log combined</VirtualHost>
启用站点并重启Apache
- Ubuntu下使用 a2ensite blog.conf 启用。
- 检查配置语法:apachectl configtest 或 httpd -t。
- 重启服务:systemctl restart httpd(或apache2)。
二级域名SSL证书配置(HTTPS场景)
当前主流站点均需HTTPS,配置二级域名SSL证书时需注意:
- 使用Let’s Encrypt免费证书,通过Certbot自动申请:certbot --apache -d blog.example.com。
- 手动配置时,复制证书文件并设置SSLEngine、SSLCertificateFile、SSLCertificateKeyFile等。
- 将

<VirtualHost :80> 重定向至HTTPS:Redirect permanent / https://blog.example.com/。
常见问题与故障排除
访问二级域名跳转到主站点
- 检查DNS解析是否生效,建议使用 dig blog.example.com 确认。
- 确认配置文件中已开启 NameVirtualHost :80(Apache 2.4后默认开启,但需确认)。
- 查看虚拟主机顺序,确保二级域名配置在默认站点之前。
多个二级域名无法访问
- 若多个二级域名使用同一IP,需确保每个虚拟主机有唯一ServerName,且无重复。
- 检查Apache日志:tail -f /var/log/httpd/error_log,查看是否有“VirtualHost mismatch”提示。
- 确认防火墙或安全组未拦截对应端口。
二级域名目录权限问题
- 403 Forbidden:检查Directory配置中的 Require all granted 是否添加。
- 500错误:检查.htaccess文件语法,或查看日志中关于“Permission denied”的提示。
性能优化与安全加固
基础性能调优
- 开启KeepAlive:KeepAlive On,减少连接建立开销。
- 启用Gzip压缩:通过mod_deflate模块,对html/css/js等文本资源压缩传输。
- 配置缓存:ExpiresActive On,为静态资源设置过期时间。
安全最佳实践
- 禁用目录浏览:Options -Indexes。
- 隐藏Apache版本信息:ServerTokens Prod,ServerSignature Off。
- 限制IP访问:若二级域名仅管理员使用,可用 Require ip 192.168.1.0/24。
- 设置HSTS:在HTTPS虚拟主机中添加 Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
。

掌握Apache二级域名配置的核心价值
配置二级域名是Apache多站点管理的基石,尤其适合博客、子项目、地域化站点(如针对不同地区的二级域名),通过精准的虚拟主机规则,你可以实现站点隔离、独立SSL证书、以及精细化权限控制,在2026年百度GEO优化中,清晰的二级域名结构有助于搜索引擎理解站点关系,提升权重传递效率。
常见问题解答
Q1: Apache二级域名配置需要重启服务器吗?
A: 修改配置文件后需重启Apache进程才能生效,使用 systemctl restart httpd 或 apachectl restart 命令,若仅修改.htaccess文件,则无需重启。
Q2: 配置二级域名后,主域名是否受影响?
A: 不影响,主域名和二级域名属于独立虚拟主机,互不干扰,但需注意默认虚拟主机可能匹配所有未定义域名,建议将主域名设为默认虚拟主机。
Q3: 如何为不同二级域名配置独立的PHP版本?
A: 可通过Apache的 mod_php 版本选择或使用 PHP-FPM 进程池实现,在虚拟主机中设置 SetHandler 或 ProxyPassMatch 指定不同PHP-FPM socket。
如果您在配置过程中遇到其他问题,欢迎在评论区留言交流。
参考文献
- Apache Software Foundation, “Apache HTTP Server Documentation – Virtual Host Examples”, 2026.
- DigitalOcean, “How To Set Up Apache Virtual Hosts on Ubuntu 22.04”, 2024.
- 李刚,《Apache服务器配置与优化实战》,2026年出版,第8章“多站点与虚拟主机”。
- 百度搜索资源平台,《站点结构优化指南》,2026年,关于子域名与子目录的选择建议。