同事把域名解析到新买的一台服务器,浏览器打开只看到一行欢迎词:Welcome to nginx!。他以为网站挂了,其实是服务器上 Nginx 装好了,但站点根目录和配置还没接手。
看到欢迎页说明什么
那行 Welcome to nginx! 是 Nginx 自带的默认站点,位于 /usr/share/nginx/html/index.html。它出现意味着 Nginx 进程在正常跑,80 端口通,但你的域名或站点配置没生效,请求落到了默认 server 块上。换句话说,服务是好的,站点没配上。
配置里先查这几处
nginx -t
ls /etc/nginx/conf.d/
cat /etc/nginx/nginx.conf先 nginx -t 检查语法,报错会指出哪一行。再看 server_name 是否写对了域名,root 指向的目录里有没有 index.html 或 index.php。Ubuntu 上默认站点在 /etc/nginx/sites-enabled/default,这个软链接会截胡所有请求,删掉或改掉它常能立刻见效。改完记得 nginx -s reload,光改文件不重载没用。
另一种情况:502 或 404 错误页
如果页面显示的是 nginx 的 502 Bad Gateway 或 404 Not Found,性质完全不同。502 多半是后端 PHP、Node 进程没起来,或反向代理的 proxy_pass 地址写错。404 是文件路径对不上。这两种都要去看 /var/log/nginx/error.log,里面通常直接写明连接不上上游或找不到文件。
排查顺序
- 先看页面文字:欢迎页是配置问题,502/404 是后端或路径问题。
- 再查日志:error.log 里的报错行比任何猜测都准。
- 动配置前备份:改前先复制 nginx.conf,避免 reload 失败整站打不开。
简单判断:能进服务器就用命令行语法排查;进不去又不想折腾,重装一次 Nginx 反而更省时间。