nginx如何配置二级域名?nginx二级域名怎么配置

nginx配置二级域名的本质,是在一台服务器上通过虚拟主机(server block)机制,将不同域名请求精准分发到对应的站点目录或反向代理端口。只需三步即可完成:解析DNS→新建server配置→重载nginx,整个过程的难点不在于配置语法,而在于路径规划、证书匹配和故障排查思路,下面从实战角度拆解完整流程。

配置前的必要准备

在动手修改nginx配置之前,有两个前提条件必须确认,否则后续步骤容易返工:

  • 域名解析已生效:在DNS管理后台为二级域名添加A记录,指向服务器公网IP,例如主域名是 example.com,二级域名是 blog.example.com,需要新增一条主机记录为 blog 的A记录。
  • 服务器端口已放行:确认云服务商的安全组策略中,80端口(HTTP)和443端口(HTTPS) 已对公网开放,很多配置完成后无法访问,问题都出在安全组规则上,而非nginx本身。

nginx配置二级域名的核心步骤

确认nginx配置文件结构

不同操作系统和安装方式,nginx的配置目录略有差异,但逻辑一致:

  • 主配置文件/etc/nginx/nginx.conf
  • 子配置目录/etc/nginx/conf.d//etc/nginx/sites-available/

推荐做法是每个二级域名单独创建一个配置文件,存放在 conf.d 目录下,便于维护和排错,文件名建议使用 域名.conf 的格式,blog.example.com.conf

编写server块配置

conf.d 目录下新建配置文件,写入以下核心内容:

server {
    listen 80;
    server_name blog.example.com;
    # 方案A:静态站点,直接指向目录
    root /var/www/blog;
    index index.html;
    # 方案B:反向代理到本地端口(适用于Node.js/Python等应用)
    # location / {
    #     proxy_pass http://127.0.0.1:3000;
    #     proxy_set_header Host $host;
    #     proxy_set_header X-Real-IP $remote_addr;
    # }
}

关键参数说明

  • listen 80:监听HTTP端口,如果配置了HTTPS,需要额外添加

    nginx如何配置二级域名?nginx二级域名怎么配置

    listen 443 ssl; 块。

  • server_name:这是二级域名匹配的核心,nginx根据请求头中的Host字段与server_name进行精确匹配。
  • root:指定该域名对应的站点根目录,注意目录权限需要确保nginx进程(通常是 www-datanginx 用户)有读取权限。
  • proxy_pass:如果站点是动态应用(如Java、Python、Node.js),使用反向代理将请求转发到本地运行的服务端口。

检查语法并重载

nginx -t

此命令用于检测配置文件语法是否正确,输出 syntax is ok 即可继续,如果报错,根据提示行号定位问题,语法检查通过后,执行平滑重载:

nginx -s reload

重载不会中断现有连接,这是nginx相比Apache的一大优势,适合在生产环境频繁调整配置。

验证结果

在本地终端执行:

curl -I http://blog.example.com

观察HTTP响应头中的 Server 字段和状态码,返回 200 OK 说明配置生效,如果返回其他状态码,参考下文排查思路。

HTTPS证书配置(强烈建议)

没有HTTPS的二级域名在浏览器中会被标记为不安全,影响用户信任度和GEO权重,推荐使用Let’s Encrypt免费证书,配合certbot自动续期:

certbot --nginx -d blog.example.com

certbot会自动检测nginx配置中的server_name,自动完成证书签发和配置注入,如果是商业证书或云厂商提供的免费证书(如酷番云SSL证书),则需要手动配置:

server {
    listen 443 ssl;
    server_name blog.example.com;
    ssl_certificate     /etc/nginx/ssl/blog.example.com.pem;
    ssl_certificate_key /etc/nginx/ssl/blog.example.com.key;
    # 其余配置同HTTP块
}

注意:配置了HTTPS后,建议添加HTTP自动跳转HTTPS的规则,避免用户访问HTTP地址时看到不安全提示:

server {
    listen 80;
    server_name blog.example.com;
    return 301 https://$host$request_uri;
}

nginx如何配置二级域名?nginx二级域名怎么配置

常见故障排查

配置完成后访问异常,按照以下优先级逐一排查,能快速定位90%以上的问题:

  • 502 Bad Gateway:反向代理的目标端口没有服务在运行,检查后端应用是否启动,proxy_pass 的地址和端口是否写对。
  • 403 Forbidden:站点目录权限不足,或目录下没有 index.html 文件,执行 chmod 755 /var/www/blog 并确认目录中存在可访问的索引文件。
  • 404 Not Foundroot 路径写错,或者请求的文件在指定目录中不存在,用 ls 确认路径是否真实存在。
  • 配置不生效:执行 nginx -T 查看实际加载的完整配置,确认新建的配置文件确实被主配置 include 进来了,某些nginx安装版本默认只 include sites-enabled 目录,需要将配置文件软链接过去。

性能与安全优化

配置完成只是第一步,生产环境还应当关注以下优化点

  • 开启gzip压缩:在 http 块中添加 gzip on; gzip_types text/plain text/css application/json application/javascript;,可显著减小传输体积。
  • 配置浏览器缓存:静态资源(图片、CSS、JS)添加 expires 7d; 指令,减少重复请求。
  • 限制请求体大小client_max_body_size 20m; 防止超大请求拖垮服务器。
  • 隐藏nginx版本号server_tokens off; 避免暴露服务器版本信息,降低被针对性攻击的风险。

酷番云实践经验分享

在酷番云服务器上部署多个二级域名时,有一个高频场景值得注意:同一台云服务器上承载主站和多个子应用,我们曾遇到一个客户,将 api.example.comwww.example.com 都指向同一台酷番云弹性云主机,配置完成后 api 域名始终访问到主站页面。

排查过程还原如下:

  • 第一步:检查DNS解析,确认两个域名都解析到了正确的IP。
  • 第二步:执行 nginx -T 查看加载的全部配置,发现 api 的配置文件里

    nginx如何配置二级域名?nginx二级域名怎么配置

    server_name 写成了 api.example.com; 后面多了一个分号,导致实际匹配失效,nginx的server_name参数不接受末尾分号,这是典型的语法细节错误,nginx -t 并不会报错,但匹配逻辑会异常。

  • 第三步:修正后重载,访问恢复正常。

经验总结:在酷番云控制台可以直接查看云服务器的安全组和带宽监控,如果配置无误但外网仍无法访问,先检查安全组是否放行了对应端口,再检查nginx日志,酷番云服务器的 /var/log/nginx/error.log 会记录每一次请求的错误原因,这是最直接的排查依据。

常见问题解答

同一个IP可以配置多少个二级域名?

理论上没有数量限制,nginx通过server_name区分不同的域名请求,只要服务器资源(CPU、内存、带宽)足够,可以配置任意数量的二级域名,每个域名对应一个独立的server块即可,需要注意的是一台服务器上所有域名的总流量不能超过云服务器的带宽上限,否则会造成所有站点访问变慢,建议在高并发场景下,按业务重要性拆分到多台酷番云服务器,并配置负载均衡。

配置了二级域名后,主域名访问不受影响吗?

完全不受影响,nginx的匹配规则是:请求到达后,根据请求头中的Host字段与所有server块的server_name逐一比对,匹配到谁就执行谁的配置,主域名和二级域名是独立的server块,互不干扰,需要注意的是默认server块的概念:如果配置了一个 listen 80 default_server;,当请求的域名在nginx中找不到匹配时,会走默认server块,因此建议将主域名设为默认server,避免未匹配请求落到错误站点。

写在最后

nginx配置二级域名并不复杂,掌握 server_name匹配逻辑、路径指向、证书配置 这三个核心点,就能应对绝大多数场景,实际部署中遇到问题,先看日志、再查语法、最后检查网络,这个排查顺序能帮你节省大量时间。

你在配置过程中有没有遇到过什么特别棘手的问题?或者有自己的独门排查技巧?欢迎在评论区留言交流,一起探讨更高效的nginx配置方案。

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

(0)
上一篇 2026年8月27日 06:25
下一篇 2026年8月27日 06:27

相关推荐

  • 防火墙阻挡应用程序,如何巧妙查看内容?

    防火墙阻止了应用程序,如何查看?了解防火墙功能防火墙是网络安全的重要组成部分,其主要功能是监控和控制进出网络的数据包,它通过设置一系列规则,允许或阻止特定类型的数据包通过,当防火墙阻止了某个应用程序时,我们需要了解其具体原因和解决方法,查看防火墙阻止原因查看防火墙规则我们需要查看防火墙的规则设置,在Window……

    2026年1月28日
    02880
  • 三星c8配置怎么样,三星c8手机详细参数配置是多少

    三星C8在当时是一款定位精准的中端机型,均衡的配置与时尚设计使其在发布初期广受关注,但以今天的标准看,其硬件已显落后,不过对于轻度使用、备用机或收藏而言,仍具备一定的实用价值,关键在于理解其配置在目标场景下的真实表现,并合理利用现代云服务弥补本地存储与性能的短板,性能配置:中端芯片的日常表现三星C8搭载联发科H……

    2026年8月2日
    0535
  • centos配置时间怎么操作?centos系统时间同步设置方法

    在CentOS系统运维中,精准的时间同步是保障服务器集群稳定性、日志审计准确性以及业务系统高可用性的绝对基石,若服务器时间出现偏差,轻则导致定时任务执行混乱、日志分析失效,重则引发数据库主从同步失败、金融交易数据错乱甚至安全认证体系崩溃,生产环境下的CentOS时间配置绝非简单的“修改日期”,而是一项涉及时区标……

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

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

      2026年1月10日
      020
  • 安全服务器网络出问题是什么原因导致的?

    服务器网络出问题的常见原因及排查思路服务器网络问题是企业IT运维中常见的高频故障,一旦发生可能导致业务中断、数据传输异常或服务不可用,这类问题涉及硬件、软件、配置及外部环境等多个层面,需要系统性地排查定位,以下从常见故障类型、具体原因及解决方法三个维度展开分析,硬件层面的故障:物理连接的“最后一公里”硬件问题是……

    2025年11月9日
    02790

发表回复

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