apt 装完 Nginx,浏览器打开 IP 是那个Welcome to nginx欢迎页,然后呢?很多教程到这就断了,新手对着配置文件一脸茫然。这篇把“从欢迎页到自己网站”这段路走完:核心是理解 server 块——Nginx 靠它区分同一台机器上的不同网站,一个 server 块就是一个站。默认配置里那个欢迎页,本质上就是一个监听 80 端口的默认 server 块,你的任务就是加自己的块。
动手前先搞清发行版差异,这是新手最容易懵的地方。Debian/Ubuntu 把配置拆成两套目录:sites-available 放所有站点配置,sites-enabled 放已启用的(符号链接过去),启用一个站就是 ln -s 建软链;CentOS/RHEL 系则简单些,conf.d 目录下以 .conf 结尾的文件自动加载。两种风格效果一样,关键是搞清楚你机器上 Nginx 主配置的 include 规则扫的是哪个目录,文件放错地方等于没配。
# /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
# Debian/Ubuntu:启用站点
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
mkdir -p /var/www/example.com
echo '<h1>It works</h1>' > /var/www/example.com/index.html
逐行拆一下这段配置。listen 80 声明监听 HTTP 端口;server_name 匹配来访域名,一台机器跑十个站就是十个 server 块各配各的域名;root 指向网站文件根目录,Nginx 以此为起点找文件;index 定义目录的默认首页;try_files 是请求的寻找顺序——先找完全一致的文件,再找目录,都找不到返回 404,这条指令后面配 WordPress 伪静态时还会回来改造它。目录权限是另一个高频翻车点:/var/www 下属于 root 的目录,Nginx worker 进程读不了就是 403,chown -R www-data:www-data 给足权限。
# 部署后验证四连
nginx -t # 语法检查,每次改配置必做
curl -I http://example.com # 期待 HTTP/1.1 200 OK
tail -20 /var/log/nginx/error.log # 报错先看这
ls -la /var/www/example.com/ # 检查属主与权限
验证流程固化成肌肉记忆:改配置,nginx -t 过了再 reload,curl 看返回码,不对就翻 error.log。有一个容易被忽略的细节:Nginx 的 reload 是热加载,新配置没生效时先确认 reload 真执行了而不是 restart 失败。server_name 写错、root 路径多空格、软链没建,是新手三大高频错误,全都会在 nginx -t 或 error.log 里现出原形。站点跑通后下一步就是上 HTTPS,下一篇专门讲。这里也提前说清分工:本篇管把站立起来,如果立起来之后页面报 403、502 这类故障,去服务器故障排查合集对应篇查——部署和排障是两条线,别混着看。
相关阅读:本篇属于《从零建站第一步:技术栈选型总纲,别一上来就纠结框架》的上线组。总纲覆盖选型、上线、加固、运营四段路,装完环境不知道下一步做什么,翻总纲的路线图就清楚了。
A5创业网 版权所有