想让 blog.example.com 或 shop.example.com 这类独立地址正常访问,关键在于两步:先把域名的解析指对,再让服务器认得这个地址。无论你是个人站长还是企业运维,掌握二级域名的设置流程,就能按业务模块拆网站、做测试环境或部署独立应用,不必再买新域名。
对 example.com 来说,任何加在前面的前缀都是它的二级域名,比如 blog、m、api。二级域名本身不存放任何网页文件,它只是互联网里的一扇门,真正决定门后内容的是 DNS 解析记录指向的目标。
设置前先选好记录类型,选错会让域名指向错误的位置:
常见的判断标准是:若目标服务器有固定 IP,用 A 记录简单直接;若目标指向 CDN、云存储或第三方平台,用 CNAME 更稳妥。记着先在 DNS 管理面板完成解析,再去服务器配置响应,顺序反了会出现解析通了却打不开的尴尬。
各域名服务商的界面略有差异,但添加流程大同小异,重点是把每一项填准确。进入域名管理后台,找到「DNS 解析」或「域名解析」入口后,操作步骤如下:
最容易犯的两个低级错误是:把主机记录写成完整域名(如填成 blog.example.com 而非 blog),以及 A 记录的值填了域名而不是数字 IP。保存后建议用在线 DNS 检测工具查一下,或在本机命令行执行 nslookup blog.example.com,看返回结果与预期是否一致。缓存更新通常要几分钟到几小时,不要一检查不通就重复添加同一条记录。
解析生效只代表网址能找到你的服务器,服务器还要根据域名分发不同的内容。以最常用的 Nginx 为例,在它的站点配置文件(一般位于 /etc/nginx/sites-available/)里新建一个 server 块:
配置文件内容大致包括 listen 80、server_name blog.example.com、root /var/www/blog 三行核心指令。server_name 必须和你的二级域名完全一致,root 路径要指向实际存放网页的目录。写完保存后,先执行 nginx -t 检查语法正确性,再重新加载服务使配置生效。
注意避开两个坑:一是 root 目录不存在或没有读取权限,服务会返回 403;二是忘了在 sites-enabled 里建立软链接,导致配置文件不生效。若按域名建多个站点,记得每个二级域名都用独立的 server_name,别互相覆盖。
如果你偏爱 Apache,需要借助虚拟主机(VirtualHost)来实现类似效果。在 /etc/apache2/sites-available/ 目录新建配置文件,并写入 VirtualHost 块,其中 ServerName 写成目标二级域名,再通过 DocumentRoot 指定该域名的网页文件位置。改完后执行 apachectl configtest 检查配置,确认无误再重载 Apache。
配置包含关键指令:
如果页面用 HTTPS,还要额外配置 SSL 证书并把 80 端口请求重定向到 443。比起 Nginx,Apache 的 .htaccess 规则更灵活,适合用子目录做伪静态的场景,但并发性能调优相对复杂。选择哪种取决于你已有的技术栈,不必为了换而换。
先确认记录类型、主机记录和记录值三项是否有拼写错误;其次检查服务器侧是否已配置响应,Nginx 的 server_name 或 Apache 的 ServerName 与域名不一致时会直接拒接;最后看看本地电脑的 DNS 缓存,Windows 下可在命令行执行 ipconfig /flushdns 清空缓存后再试。
在中国大陆,域名解析到大陆服务器都要备案,二级域名在已备案主域名下通常不需额外备案,但部分服务商要求添加白名单。HTTPS 证书方面,多数免费证书不支持泛域名,若子域名较多,建议购买通配符证书,一个证书覆盖所有二级域名。
日常用起来差别不大,关键在维护弹性。A 记录指向固定 IP,改动必须先换服务器再改解析,切换期访问可能中断;CNAME 指向域名,源站 IP 变更时只需在目标端调整,子域名无感。追求零切换成本选 CNAME,但对根域名(example.com 本身)无法使用 CNAME,只能靠 A 记录。
设置二级域名的完整思路是:先用 A 或 CNAME 记录把域名解析指向目标服务器,再按你的 Web 服务器类型配置对应的站点响应,最后用 DNS 检测工具和浏览器双重验证。动手时建议从小流量模块试起,比如先给测试环境建个子域名熟悉流程。日常运维中要养成记录每一条解析用途的习惯,服务器迁移前至少提前一两天把 TTL 调低,能显著缩短切换时网站不可用的时间。按这个顺序操作,二级域名配置就不会再成为上线路上的障碍。