Nginx 绑定域名
适用人群:已经把域名解析到服务器、需要在Nginx里配置该域名对应站点的开发者/运维
核心概念
server块与server_name的作用
Nginx用server块描述一个虚拟主机,server_name用来匹配请求头里的Host,决定一个请求该由哪个server块处理。同一台服务器可以有多个server块,分别绑定不同域名,实现"一台服务器多个站点"。
server_name支持精确匹配(example.com)、多域名(example.com www.example.com)、通配符(*.example.com)和简单正则,Nginx按匹配优先级(精确 > 前缀通配 > 后缀通配 > 正则)选择最合适的server块。
操作步骤
步骤 1定位或新建配置文件
通常在 /etc/nginx/conf.d/ 或 /etc/nginx/sites-available/ 下新建一个以站点命名的.conf文件。
步骤 2编写server块并设置server_name
在server块中写入 server_name example.com www.example.com;,声明该站点对应的域名。
步骤 3配置监听端口与内容来源
设置listen 80;(后续HTTPS再加443),并配置root指向静态文件目录,或proxy_pass转发到后端应用端口。
步骤 4检测配置语法
执行 nginx -t,确认没有语法错误再进行下一步,避免reload时因语法错误导致服务中断。
步骤 5重载配置生效
执行 systemctl reload nginx(或 nginx -s reload),不中断已有连接的情况下应用新配置。
步骤 6验证绑定是否生效
用 curl -H "Host: example.com" http://服务器IP 或直接用域名访问,确认返回了预期站点内容。
实际示例
# /etc/nginx/conf.d/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
如果是反向代理到Node/Java等后端应用:
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 检测语法并重载
nginx -t && systemctl reload nginx
常见错误
- ⚠️改完配置文件忘记执行nginx -t和reload,改动一直没生效
- ⚠️多个server块使用了相同的server_name,造成匹配冲突,只有一个能生效
- ⚠️只配置了80端口,后续加HTTPS时忘记server_name和证书里的域名要保持一致
- ⚠️server_name和实际访问域名大小写/拼写不一致,导致Nginx走到default server返回错误内容
对应工具
常见问题
一个server块能绑定多个域名吗?
修改Nginx配置后是要重启还是reload?
泛域名(*.example.com)怎么配置?
HTTP和HTTPS需要分别写server块吗?
相关教程
相关文章
备案站点的 Nginx 反向代理配置要点
反向代理在备案站点里的位置 典型链路是"用户 → Nginx(反向代理/负载)→ 后端应用"。备案约束的是"域名 + 接入服务商",反向代理层本身不改变备案,但它的配置直接影响可用性、日志质量与合规展示——配错了轻则路由错乱,重则埋下核查隐患。 回源与 Host 透传 反代把请求转发给后端时,要让后端拿到正确的域名信…
网站 HTTPS 怎么配置?SSL 证书申请、Nginx 部署与自动续期
HTTPS 已经是网站上线的标配:浏览器会对纯 HTTP 站点提示"不安全",搜索引擎也更青睐 HTTPS。配置 HTTPS 的核心是申请一张 SSL/TLS 证书、在服务器上部署、并确保它自动续期不过期。本文按运维实操讲清楚。 先分清:HTTPS 和备案是两回事 SSL 证书解决的是"传输加密与身份可信",ICP …
备案通过后网站怎么上线?域名解析、服务器绑定与部署实操
很多站长拿到 ICP 备案通过通知后,反而卡在"接下来怎么让网站真正打开"这一步。备案解决的是"能不能上线"的资质问题,真正上线还需要一套运维动作:把域名解析到服务器、在服务器上部署站点、绑定域名、配好 HTTPS,最后验证访问。本文按实操顺序梳理。 上线前提:备案与接入都已就绪 开始部署前先确认两件事:一是备案已通…
网站上线前怎么测试?测试环境、预发布与上线前检查清单
直接把没测过的网站推到线上,很容易上线即翻车:页面报错、链接失效、证书没配好,甚至因为空白页被判备案不合格。正式上线前做一轮测试和逐项检查,能把问题挡在用户之前。本文讲清测试环境怎么搭、备案期间怎么合规地测,以及上线前该核对什么。 为什么要先测 功能验证:注册、表单、支付、接口等关键流程能不能跑通; 展示验证:各页面…
老域名和已备案域名是一回事吗?两个概念别再搞混
很多人买域名时把「老域名」和「已备案域名」当成同一回事,结果花了钱却没买到自己真正需要的东西。这两个词描述的是完全不同的两个维度:一个说的是注册时间,一个说的是备案状态。搞清楚区别,才能少走弯路。 先给结论:不是一回事 老域名:指注册年限较久(比如注册满 3 年、5 年甚至更长)的域名,卖家通常强调它「有历史」「可能…
官方资料来源