You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx显示欢迎页而非Web应用,请求排查问题

问题排查:Nginx显示默认欢迎页而非自定义Web应用

针对你遇到的问题,从配置和环境层面逐一排查可能的原因:

1. 存在优先级更高的默认Server块

Nginx会优先匹配带有default_server标识的server块,如果系统中还有其他默认配置(比如Nginx安装时自带的/etc/nginx/conf.d/default.conf或/etc/nginx/sites-enabled/default),且其中的server块包含listen 80 default_server;,就会优先加载那个配置的欢迎页。

检查方法:
执行命令查看所有生效的server块:

nginx -T | grep -A 10 -B 2 "server {"

如果输出中存在其他listen 80且带default_server的server块,就是它在抢占请求。

解决方法:

  • 删除或重命名冲突的默认配置文件(比如mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak)
  • 或者在你的default.conf的listen指令中添加default_server,明确指定它为默认服务:
    listen 80 default_server;
    

2. Nginx配置未生效

修改配置后没有重启或重载Nginx,导致旧的默认配置仍在运行。

检查方法:
先验证配置语法是否正确:

nginx -t

如果输出test is successful,再执行重载命令:

nginx -s reload

或者直接重启Nginx:

systemctl restart nginx

3. 应用根目录权限不足

Nginx运行用户(配置中是nginx)没有读取/app/public目录及文件的权限,导致Nginx无法找到你的应用文件, fallback到默认欢迎页。

检查方法:
查看目录权限:

ls -ld /app/public
ls -l /app/public/index.php

检查文件所属用户组是否包含nginx,或者权限是否允许其他用户读取(比如权限为755目录和644文件)。

解决方法:
修改目录和文件权限:

chown -R nginx:nginx /app/public
chmod -R 755 /app/public

4. Server_name不匹配

你访问服务器时使用的IP地址或域名,和配置中server_name localhost;不匹配,Nginx找不到对应的server块,就会使用默认的server块返回欢迎页。

检查方法:
比如你用服务器公网IP访问,但配置里只写了localhost,这时候Nginx不会匹配到你的server块。

解决方法:
修改server_name为你实际访问的地址,或者用通配符匹配所有请求:

server_name _; # 匹配所有未指定的域名/IP

5. PHP-FPM服务未正常运行

如果你的应用是PHP项目,PHP-FPM没有启动或监听127.0.0.1:9000,会导致Nginx无法处理PHP请求,可能出现 fallback到默认页的情况(部分环境下会返回默认页而非502错误)。

检查方法:
查看PHP-FPM状态:

systemctl status php-fpm # 不同系统可能是php7.4-fpm、php8.1-fpm等

或者检查端口是否监听:

netstat -tulpn | grep 9000

解决方法:
启动PHP-FPM服务:

systemctl start php-fpm
systemctl enable php-fpm # 设置开机自启

内容的提问来源于stack exchange,提问作者Rainheart Galario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 23:44:55