nginx配置二级域名怎么做?,nginx二级域名配置方法详解

nginx配置二级域名并不复杂,核心就两步:先做好DNS解析,再写好server块。只要你理解了域名解析和nginx虚拟主机这两个概念,十分钟就能搞定。

第一步:理清nginx配置二级域名前必须知道的DNS知识

很多人一上来就改nginx配置文件,结果怎么折腾都不生效,回头一看是DNS解析没做,这个顺序千万别搞反,DNS解析是把你的二级域名指向服务器IP的“指路牌”,nginx只是负责在服务器内部“接客”,指路牌都没立起来,nginx配置得再漂亮也没人找得到你。

在操作之前,你需要明确自己在用什么场景,根据我接触过的情况,大致分成两种:

  • 场景A:主域名和二级域名都在同一台服务器上。 这是最常见的情况,example.comblog.example.com 都指向同一个IP。
  • 场景B:二级域名指向不同服务器。 比如主站在一台机器,图片站或API服务在另一台,这种情况DNS解析稍有不同,需要在DNS服务商处将二级域名解析到对应服务器的IP。

确认好场景后,登录你的域名管理后台(简米云、酷番云、Cloudflare等),在DNS解析设置里,添加一条记录:

  • 记录类型:填 A 记录(指向IPv4地址)或 CNAME 记录(指向另一域名)。
  • 主机记录:填 blog(对应 blog.example.com)或 (泛解析,所有二级域名都指向该IP)。
  • 记录值:填服务器公网IP或目标域名。

在nginx配置二级域名之前,你需要确认解析已经生效,终端里执行 ping blog.example.com,看到返回的IP和服务器IP一致,再继续往下走,如果你用的是CDN或云负载均衡,ping出来的可能不是源站IP,但只要能通就行。

第二个核心环节:nginx二级域名配置方法之server块详解

DNS解决“谁来敲门”的问题,nginx解决“敲了门之后该怎么办”的问题,所有nginx配置二级域名的技巧,都集中在 server 块里,你需要修改的就是nginx的配置文件。

nginx配置二级域名时server_name该怎么写

找到nginx的配置文件目录(一般是 /etc/nginx/conf.d//etc/nginx/sites-available/),新建一个专门的文件,blog.conf,不建议直接改主配置文件 nginx.conf,那样不利于后期维护。

一个最简配置长这样:

server {
    listen 80;
    server_name blog.example.com;   # 这里换成你的二级域名
    root /var/www/blog;            # 网站文件存放路径
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

这段配置里的关键点如下:

  • listen 80:监听HTTP端口,如果配置了SSL,则改成 443 ssl
  • server_name:这是nginx匹配域名的重要依据,nginx接收请求后,会拿请求头里的Host字段与所有server块的server_name比对,命中的才执行对应逻辑。
  • root:指定这个二级域名对应的网站根目录,很多配置无效的案例,问题都出在这里忘记创建目录或路径写错。
  • nginx配置二级域名怎么做?,nginx二级域名配置方法详解

    location /:定义根路径的处理方式。try_files 按顺序检查文件是否存在,不存在就返回404。

改完配置后,先测试语法:

nginx -t

看到 syntax is ok 再重载:

nginx -s reload

然后浏览器访问 blog.example.com,应该就能看到 /var/www/blog 目录下的内容了。

同服务器多二级域名的配置文件组织方式

如果你之前配置二级域名时直接把新server块加在现有配置里,会发现文件越来越乱,行业共识认为,每个域名一个独立配置文件的做法更清晰,也方便通过符号链接快速启用或禁用一个站点。

配置文件目录的组织形式如下:

  • /etc/nginx/sites-available/:存放所有可用的站点配置。
  • /etc/nginx/sites-enabled/:存放已启用的配置,里面是指向sites-available下文件的软链接。

在Debian/Ubuntu系统里,需要在 nginx.conf 的主 http 块中确认有 include /etc/nginx/sites-enabled/; 这一行,CentOS/RHEL系统则习惯直接用 conf.d 目录下的 .conf 文件,你可以根据自己的操作系统选择合适的组织方式,但核心原则不变:一个二级域名一个独立文件。

一个常见坑:忘记把server块写入主配置文件引用的目录中,很多朋友nginx二级域名配置后无法访问主站,原因就在于新加的server块覆盖了默认站点对80端口的监听,而默认站点没有显式配置server_name。

泛解析和通配符在nginx配置二级域名时的用法

如果你有大量二级域名需要指向同一个网站根目录,手动逐个添加server块效率太低,此时可以用泛解析加通配符server_name:

server {
    listen 80;
    server_name .example.com;
    root /var/www/example;
    index index.html;
    if ($host ~ ^(.).example.com$) {
        set $subdomain $1;
    }
}

这种配置适合SaaS应用或用户个人主页,不过要注意,泛解析会把所有未匹配的二级域名都送到这个server块,如果只想让部分二级域名生效,建议还是显式列出。

核心场景实战:nginx配置二级域名搭建个人博客或反向代理

配置好基础server块后,场景就分化了,有的人用二级域名跑一个静态博客,有的人需要将二级域名反向代理到内网服务(比如NAS上的应用),这两种方式的写法不太一样,你需要在动手前想清楚自己属于哪一种。

反向代理场景下nginx如何配置二级域名

假设你在本机8080端口跑了一个WordPress或Node.js应用,不想用 example.com:8080 这种带端口的URL访问,而是希望通过 blog.example.com 直接访问,这就需要用反向代理块:

server {
    listen 80;
    server_name blog.example.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

核心是 proxy_pass,它的作用是nginx接收到来自

nginx配置二级域名怎么做?,nginx二级域名配置方法详解

blog.example.com 的请求后,转发给本机的8080端口。proxy_set_header 用来传递真实的客户端IP和协议信息,否则后端程序拿不到用户的真实IP,日志里全是127.0.0.1。

配置完成后,访问 blog.example.com 就相当于访问 http://127.0.0.1:8080

静态网站场景nginx配置二级域名需注意的路径权限

如果你只是放一个纯静态页面(HTML/CSS/JS),上面第一段的配置够用了,但要注意目录权限,nginx进程(通常是 www-datanginx 用户)必须有读取该目录的权限,有时候页面显示403 Forbidden,大概率就是目录权限不对。

你可以按以下步骤排查权限相关的常见问题

  1. 执行 ls -ld /var/www/blog 查看目录权限。
  2. 确保目录至少有 r-x 权限(读和执行)。
  3. nginx运行用户可以通过 ps aux | grep nginx 查看,通常是 nobodywww-data
  4. 可以执行 sudo chown -R www-data:www-data /var/www/blog 将目录归属交给nginx用户(具体用户名以你的系统为准)。

给二级域名配置SSL证书(HTTPS)

现在百度搜索对HTTPS站点有偏好,没有SSL证书的网站会显示“不安全”,为二级域名签发证书有多种选择,最常见的是用Let’s Encrypt的免费证书,主流做法是使用Certbot工具:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d blog.example.com

Certbot会自动检测nginx配置中已有的server_name对应的域名,验证域名所有权后签发证书,还会自动修改nginx配置文件,把80端口的访问重定向到443端口,整个过程一般几分钟内完成,免费证书的有效期为90天。

只需要这几个步骤,你的nginx配置二级域名工作就彻底完成,网站可通过HTTPS访问了。

假如你的主域名和二级域名在同一个nginx上,建议给每个域名都签一张独立证书,尽量避免使用通配符证书(.example.com),除非你确实有很多子域名,多域名证书或通配符证书续期时会涉及DNS验证,操作上稍微复杂一点,对新手不太友好。

常见排错指南:nginx配置二级域名后访问不了怎么办

配置完成后访问失败是正常现象,很多人第一次配都会遇到,除了前面提到的DNS未生效和目录权限不对,还有几种常见原因,你的访问失败大多属于以下几种情况:

nginx配置二级域名怎么做?,nginx二级域名配置方法详解

排查点 检查方法 解决方式
DNS未生效 本机执行 ping blog.example.com 等待或更换DNS服务器(如 8.8.8
防火墙拦截 执行 curl -v http://127.0.0.1 看是否有响应 放行80/443端口,云服务器需额外在安全组规则中放行
配置文件语法错误 执行 nginx -t 根据提示修改,通常是有未闭合的括号或缺少分号
403 禁止访问 检查网站目录是否存在、是否有index文件 调整目录权限,确认 index.html 存在
502 Bad Gateway 检查反向代理的后端服务是否在运行 确保8080端口服务已启动,ss -lntp 查看监听状态

一个容易被忽略的点是:修改配置后没重载。几乎所有nginx配置二次编辑造成不生效的情况,都是忘了执行 nginx -s reload,nginx读取的是启动时加载的配置,不重载的话修改不生效。

喜欢用宝塔面板或LNMP一键包的用户要注意,这些面板会自动管理nginx配置,如果你手动修改过的配置文件被面板覆盖,就会出现“我明明改了却不生效”的情况,建议在面板自带的“站点”功能里操作,而不是使用命令行手写配置。

结合百度GEO优化nginx配置二级域名的三个细节

创作者,你配置二级域名多半是为了GEO。百度对二级域名的收录和排名机制与主域名基本相同,但有三个细节容易影响效果

  • robots.txt的检查:如果二级域名和主域名共用代码,确保robots.txt里没有误伤二级域名路径的规则。
  • sitemap提交:二级域名的sitemap需要单独生成并提交给百度站长平台,不要和主站混在一起。
  • canonical标签的指定:同一个内容如果同时出现在主站和二级站,搜索引擎会判定为重复页面,行业共识认为,必须在页面头部加入 <link rel="canonical" href="https://blog.example.com/xxx" />,明确告诉搜索引擎哪个是权威版本,不要用JS动态插入canonical,百度爬虫不一定执行JS。

百度在判断站点质量时,会关注二级域名下的内容质量和更新频率。

如果你只是把主站的某几个栏目拆到二级域名上,并没有增加原创内容,那么既无法获得更多流量,还可能分散现有权重,这属于一种常见的GEO资源浪费,百度GEO更看重内容的整体规划和用户体验,配置多个二级域名并不能直接提高收录量。

nginx配置二级域名常见问题解答

有了nginx配置二级域名文件还需要修改主站配置吗?

需要,如果主站的server块未设置server_name或使用了较宽泛的通配符,新加入的二级域名配置可能与主站发生冲突,多数情况下,你需要同时检查主站配置文件,确保两个server块的server_name没有重叠,且监听端口没有冲突,建议先备份原配置文件再修改,出问题时可快速回滚。

泛解析和普通解析哪种方式更适合nginx配置二级域名?

取决于你的需求,泛解析适合需要大量二级域名的场景,比如给每个用户分配一个独立子域名,普通解析则适合固定数量的子域名,配置更清晰,不易误匹配。选择的原则是:不确定有多少子域名时,使用逐个解析的普通方式,确保已经明确列出的域名正常工作,避免泛解析带来的维护复杂性。

如何用nginx配置二级域名实现负载均衡?

在nginx的http块中定义一个upstream组,然后在server块的location中使用 proxy_pass http://upstream_name; 即可,nginx支持在upstream中配置多个后端服务器,并设置权重或IP哈希算法,配置完成后需要执行 nginx -t 测试语法,实际生产环境中,这种方式需要结合健康检查机制。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/764765.html

(0)
上一篇 2026年9月1日 12:46
下一篇 2026年9月1日 12:46

相关推荐

  • 邮箱域名提供商有哪些?免费企业邮箱域名注册服务商推荐

    选择正确的邮箱域名提供商是企业构建专业品牌形象、保障商务沟通安全与稳定的核心基石,其重要性远超单纯的工具属性,直接决定了企业在数字时代的公信力与运营效率,企业邮箱不再仅仅是收发邮件的工具,而是企业数字化资产的重要组成部分,选择一家能够提供高可用性、强安全性以及良好售后服务的提供商,能够最大程度降低业务沟通成本……

    2026年3月29日
    02281
  • 263邮箱域名解析怎么设置?263邮箱域名解析教程

    2026 年 263 邮箱域名解析的核心结论是:企业需将 MX 记录指向 mx.263.net 或 mx2.263.net,同时配置 SPF 与 DKIM 记录以通过 2026 年主流邮件服务商的严格反垃圾验证,确保邮件送达率稳定在 98% 以上,在 2026 年企业级通信架构中,域名解析不仅是技术配置,更是品……

    2026年5月11日
    02340
  • tom域名是什么,tom域名注册

    在2026年的互联网生态中,.tom域名已不再仅是个人邮箱的代名词,而是成为构建高信任度垂直领域品牌、强化网络安全背书及提升搜索引擎自然排名权重的战略级资产,随着百度算法对E-E-A-T(专业度、经验、权威性、信任度)标准的深度迭代,域名的语义关联性与品牌资产沉淀成为影响排名的核心变量,.tom域名凭借其独特的……

    2026年6月7日
    01332
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 域名不能访问的常见原因是什么?,怎么解决

    域名不能访问通常由域名解析错误、DNS服务器故障、域名过期或服务器配置问题导致,用户可优先检查DNS解析状态与域名续费情况,域名不能访问的常见原因域名解析错误(DNS配置问题)- DNS记录未正确设置,如A记录指向错误IP、CNAME记录冲突,导致域名解析未生效,- 域名新注册或修改DNS后,全球DNS缓存未刷……

    2026年8月9日
    0816

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注