什么是子域名?创建和管理子域名的完整指南
无论您是在运营一个不断发展的企业网站、创建独立博客,还是部署客户支持门户,子域名都能让您灵活地组织在线业务,而无需注册额外的域名。在本综合指南中,我们将详细介绍子域名的定义、工作原理、使用时机,以及如何逐步创建和配置子域名——包括 Apache 和 Nginx 的 Web 服务器设置。
什么是子域名?
子域名是添加到主域名前面的前缀,用于创建网站中一个独立的、可单独管理的部分。从技术上讲,它在与根域名相同的 DNS 命名空间内形成一个独立的主机名。
示例:
| 组成部分 | 值 |
|---|---|
| 主域名 | example.com |
| 子域名 | blog.example.com |
| 另一个子域名 | store.example.com |
在上述示例中,blog 和 store 是 example.com 的子域名。每个子域名可以指向完全不同的服务器、目录或应用程序——同时共享相同的根域名。
子域名如何工作?
子域名通过域名系统(DNS)运作。当用户在浏览器中输入 blog.example.com 时,DNS 解析器会查找该特定主机名的 DNS 记录。如果 blog.example.com 存在 A 记录或 CNAME 记录,浏览器将被定向到相应的 IP 地址或服务器。
这意味着子域名具有以下特点:
- 可独立配置——每个子域名可以指向不同的服务器或 IP 地址
- 可无限扩展——您可以创建 DNS 提供商允许数量范围内的任意多个子域名
- 免费创建——无需额外注册域名
如果您在 VPS 托管方案上管理自己的基础设施,您可以完全控制 DNS 记录、Web 服务器配置和子域名路由。
子域名的常见使用场景
子域名几乎应用于每种类型的 Web 项目。以下是最常见的实际应用场景:
blog.example.com— 独立博客或内容中心store.example.com— 电子商务店面help.example.com— 知识库或客户支持门户app.example.com— Web 应用程序或 SaaS 仪表板api.example.com— REST API 端点mail.example.com— 邮件服务器(用于 MX 和邮件路由记录)staging.example.com— 开发或预发布环境m.example.com— 移动端优化版本的网站
每个子域名都可以运行在完全独立的基础设施上。对于高流量应用程序,您可以将 store.example.com 托管在独立服务器上,同时将主营销网站保留在更轻量的共享虚拟主机方案上。
子域名与子目录:应该选择哪个?
在创建子域名之前,了解何时使用子目录可能是更好的选择是很有价值的。
| 特性 | 子域名(`blog.example.com`) | 子目录(`example.com/blog`) |
|---|---|---|
| SEO 处理方式 | 被 Google 视为独立实体 | 继承根域名权重 |
| 服务器灵活性 | 可以指向不同的服务器 | 必须位于同一服务器上 |
| 设置复杂度 | 需要 DNS + 服务器配置 | 更简单,无需更改 DNS |
| 使用场景 | 独立应用、服务、环境 | 同一网站的内容板块 |
一般原则:当您需要技术隔离(不同服务器、平台或应用程序)时,使用子域名。当您希望为属于同一网站的内容整合 SEO 权重时,使用子目录。
如何创建子域名:分步指南
第一步:登录您的 DNS 管理面板
每个域名注册商和托管服务提供商都提供 DNS 管理界面。登录您的账户,导航至域名的 DNS 区域编辑器、DNS 管理或高级 DNS 部分。
> 如果您通过 AlexHost 注册了域名,可以直接从客户仪表板管理 DNS 记录。需要新域名?请访问域名注册开始操作。
第二步:添加新的 DNS 记录
要创建子域名,您需要在 DNS 区域中添加 A 记录或 CNAME 记录。
#### 选项 A:A 记录(指向 IP 地址)
当您希望子域名直接指向服务器的 IP 地址时,使用 A 记录。
Host: blog
Type: A
Value: 123.456.789.0 ← Your server's IPv4 address
TTL: 3600这将创建子域名 blog.example.com 并将流量路由到指定的 IP 地址。
#### 选项 B:CNAME 记录(指向另一个域名)
当您希望子域名指向另一个主机名时,使用 CNAME 记录——例如 CDN、第三方服务或您控制的另一个域名。
Host: shop
Type: CNAME
Value: stores.platform.com
TTL: 3600> 重要提示:不能对根域名(@ / example.com)使用 CNAME 记录。CNAME 仅对子域名有效。
#### DNS 传播
保存 DNS 记录后,请等待最多 24–48 小时以完成全球传播,但更改通常在几分钟到几小时内生效。
第三步:配置您的 Web 服务器
如果您运行自己的 Web 服务器——例如在 VPS 或独立服务器上——您必须对其进行配置,使其识别并处理新子域名的请求。如果没有此步骤,即使 DNS 传播正确完成,访问者也会收到连接错误。
#### 为子域名配置 Nginx
为您的子域名创建新的服务器块配置文件:
sudo nano /etc/nginx/sites-available/blog.example.com添加以下配置:
server {
listen 80;
listen [::]:80;
server_name blog.example.com;
root /var/www/blog;
index index.html index.php;
access_log /var/log/nginx/blog.access.log;
error_log /var/log/nginx/blog.error.log;
location / {
try_files $uri $uri/ =404;
}
}启用配置并重新加载 Nginx:
sudo ln -s /etc/nginx/sites-available/blog.example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx#### 为子域名配置 Apache
创建新的虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/blog.example.com.conf添加以下虚拟主机块:
<VirtualHost *:80>
ServerName blog.example.com
DocumentRoot /var/www/blog
ErrorLog ${APACHE_LOG_DIR}/blog_error.log
CustomLog ${APACHE_LOG_DIR}/blog_access.log combined
<Directory /var/www/blog>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>启用站点并重新加载 Apache:
sudo a2ensite blog.example.com.conf
sudo apache2ctl configtest
sudo systemctl reload apache2第四步:创建 Web 根目录
确保您指定的文档根目录实际存在并包含您的网站文件:
sudo mkdir -p /var/www/blog
sudo chown -R www-data:www-data /var/www/blog
echo "<h1>Blog Subdomain is Live</h1>" | sudo tee /var/www/blog/index.html第五步:使用 SSL/TLS 保护子域名
每个子域名都应通过 HTTPS 提供服务。将子域名保留在普通 HTTP 上会使用户面临安全风险,并可能影响您的搜索排名。
#### 选项 A:使用 Let’s Encrypt 免费 SSL(Certbot)
sudo apt install certbot python3-certbot-nginx # or python3-certbot-apache
sudo certbot --nginx -d blog.example.comCertbot 将自动获取证书并更新您的 Nginx(或 Apache)配置以提供 HTTPS 流量服务。
#### 选项 B:通配符 SSL 证书
如果您计划创建多个子域名,通配符 SSL 证书(*.example.com)可以用单个证书覆盖所有子域名。对于拥有多个子域名的项目,这是最高效的选择。
> AlexHost 提供多种 SSL 证书,包括通配符选项,可通过单次安装保护您的所有子域名。
第六步:测试您的子域名
DNS 传播完成且 Web 服务器配置完毕后,验证一切是否正常运行:
- 打开浏览器并导航至
http://blog.example.com(如果已配置 SSL,则访问https://) - 使用在线 DNS 传播检查工具(例如 whatsmydns.net)验证 A/CNAME 记录是否在全球范围内解析
- 如果子域名无法加载,请检查 Web 服务器错误日志:
- Nginx:
sudo tail -f /var/log/nginx/blog.error.log - Apache:
sudo tail -f /var/log/apache2/blog_error.log
管理多个子域名
对于拥有多个子域名的网站,组织管理至关重要。以下是一些最佳实践:
- 使用通配符 DNS 记录(
*.example.com → your server IP)将所有子域名路由到您的服务器,然后在 Web 服务器层面处理路由 - 记录您的 DNS 区域——保存每个子域名、其用途及指向位置的记录
- 设置适当的 TTL 值——预计进行更改时使用较低的 TTL 值(例如 300 秒),对于稳定记录使用较高值(例如 86400)
- 独立监控子域名正常运行时间——每个子域名实际上是一个独立的网站,应相应地进行监控
- 清理未使用的子域名——废弃的子域名可能成为安全漏洞(子域名接管攻击)
子域名与电子邮件托管
子域名在电子邮件基础设施中也发挥着重要作用。mail.example.com 等记录通常用作邮件服务器的主机名,在 MX 记录和 SMTP 配置中被引用。
如果您正在为域名或子域名设置专业电子邮件,电子邮件托管提供完全托管的解决方案,包含垃圾邮件过滤、网页邮件访问和可靠的送达率——无需自行托管邮件服务器的复杂操作。
关于子域名的常见问题
我可以创建多少个子域名?
从技术上讲,DNS 允许无限数量的子域名。实际上,您的域名注册商或 DNS 提供商可能会施加限制,但大多数允许数百甚至数千个。
子域名会影响 SEO 吗?
Google 将子域名视为与根域名独立的实体。这意味着子域名通常不会继承 example.com 的域名权重。对于以内容为主的网站,出于 SEO 整合目的,通常更倾向于使用子目录。但对于真正独立的应用程序、工具或服务,使用子域名完全合适。
我可以在没有 Web 服务器的情况下使用子域名吗?
可以——您可以为子域名创建指向第三方服务的 DNS 记录(例如托管表单、CDN 端点或 SaaS 平台),而无需配置自己的 Web 服务器。
子域名是免费的吗?
是的。创建子域名不需要额外的域名注册费用。您只需要一个已注册的域名以及访问其 DNS 设置的权限。
我可以将子域名指向不同的托管服务提供商吗?
当然可以。由于子域名通过 DNS 解析,您可以将 app.example.com 指向云服务提供商,将 blog.example.com 指向 CMS 平台,将 store.example.com 指向您自己的服务器——各自独立。
结论
子域名是组织 Web 基础设施最强大、最灵活的工具之一。它们允许您在单个根域名下运行独立的应用程序、服务和内容板块——每个都有自己的服务器配置、SSL 证书和独立管理。
回顾关键步骤:
- 在 DNS 管理面板中为子域名添加 DNS A 记录或 CNAME 记录
- 配置您的 Web 服务器(Nginx 或 Apache),添加新的服务器块或虚拟主机
- 创建文档根目录并部署您的内容
- 使用 SSL 证书保护子域名
- 测试和监控以确认一切正常运行
无论您是托管单个子域名还是管理复杂的多子域名架构,底层拥有合适的基础设施都至关重要。探索 AlexHost 的 VPS 托管方案,获得完整的 root 访问权限和对子域名配置的完全控制——或者浏览我们的 VPS 控制面板,如果您更喜欢基于图形界面的管理体验。
