Nginx 服务器 500 错误日志查看及修复方法

用 Nginx 搭的网站突然打不开,屏幕上就显示个 “500 Internal Server Error”,刷新好几次都没用 —— 这时候你是不是急得想把服务器重启一百遍?其实遇到这种情况,瞎折腾没用,关键是找到错误日志,从日志里找线索。今天小编就手把手教你怎么查看 Nginx 的 500 错误日志,再结合日志里的常见错误说修复方法,就算是新手也能跟着做,一起往下看吧!

一、为啥非得看错误日志?直接修不行吗?

问:“我就想赶紧把网站弄好,为啥非得先看日志呀?”
答:这就像人生病了,得先知道是发烧还是咳嗽,才能对症下药。500 错误只是个 “服务器出错了” 的笼统提示,具体是权限不够、配置写错,还是程序有 bug,只有日志里才写得明明白白。不看日志就瞎改,可能改了半天,问题根本不在那儿。
小编之前帮朋友修网站,他说 “肯定是配置文件的问题”,结果我一看日志,是 PHP 程序里少了个括号 —— 你看,不看日志多耽误事。


二、Nginx 500 错误日志在哪?怎么打开?

问:“日志藏在服务器哪个角落呀?我找不到怎么办?”
答:日志位置其实很固定,按这步骤找,保证能找到。

  1. 先确定日志存放路径
    Nginx 的日志路径一般在这两个地方(Linux 系统):

  • 默认路径:/var/log/nginx/error.log(大部分服务器都用这个)
  • 自定义路径:如果之前改过配置,打开 nginx.conf 文件,找 “error_log” 后面的路径,比如 “error_log /home/logs/nginx/error.log;”

  1. 用命令打开日志(新手也能学会)
    登录服务器后,输入这两个命令就行:

  • 查看最新日志:tail -f /var/log/nginx/error.log(输入后会实时显示新产生的日志)
  • 搜索 500 错误:grep “500” /var/log/nginx/error.log(能找出所有包含 500 的日志记录)

要是你用的是 Windows 服务器,路径可能是 “C:\nginx\logs\error.log”,直接在文件夹里找到这个文件,用记事本打开就行。


三、日志里常见错误及对应修复方法

问:“日志里全是英文,我看不懂呀?常见的错误有哪些,怎么修?”
答:别担心,常见的就这几种,记住对应的修复方法就行。

日志里的错误提示 意思 修复方法
permission denied 服务器没权限访问文件 输入 “chmod 755 文件名”(把文件名换成实际的文件路径),给文件加权限
no such file or directory 找不到要访问的文件 检查文件路径是不是写错了,比如把 “/usr/share” 写成 “/usr/shar”,改对路径就行
connect() failed (111: Connection refused) 连接后端程序(如 PHP)失败 检查 PHP 是否启动,输入 “systemctl start php-fpm” 启动 PHP 服务
upstream timed out 后端程序响应太慢 在 nginx.conf 里加 “proxy_read_timeout 60s;”,延长等待时间

  1. 权限不够(permission denied)
    这是最常见的错误。比如日志里写 “open () “/usr/share/nginx/html/index.html” failed (13: Permission denied)”,就是说服务器没权限读 index.html 这个文件。

  • 修复:输入 “chmod 755 /usr/share/nginx/html/index.html”,再输入 “chown nginx:nginx /usr/share/nginx/html/index.html”(把文件 owner 改成 Nginx 运行用户)。

  1. 配置文件语法错误
    如果改完 nginx.conf 后出现 500 错误,日志里可能会有 “invalid number of arguments in “root” directive”,这说明配置项写错了。

  • 修复:输入 “nginx -t” 检查配置,会提示 “nginx: [emerg] invalid number of arguments in “root” directive in /etc/nginx/nginx.conf:10”,意思是第 10 行的 root 指令写错了,找到那行改对就行。


四、要是日志里没线索,该怎么办?

问:“我把日志翻遍了,没找到 500 相关的记录,这咋整?”
答:这种情况很少见,但也有办法解决。

  1. 检查是否开启了日志功能
    有些服务器可能没开错误日志,打开 nginx.conf,看看有没有 “error_log” 这行 —— 要是没有,加上 “error_log /var/log/nginx/error.log;”,然后输入 “nginx -s reload” 重启 Nginx,再访问网站,日志里就会有记录了。
  2. 试试通用修复技巧
    要是实在找不到原因,先重启 Nginx(输入 “nginx -s reload”),很多临时错误重启后就好了;要是还不行,把最近改的配置恢复成原来的版本 —— 小编上次遇到个奇怪的 500 错误,就是把三天前的配置导回去,居然好了。

Nginx 服务器 500 错误日志查看及修复方法


五、小编观点

查看 Nginx 500 错误日志,其实就像侦探查案,日志就是 “线索”,找到线索了,案子就破了一半。我觉得新手不用怕命令行,只要记住那两个查看日志的命令,多试几次就熟了。
另外,平时改配置前,最好先备份一下 nginx.conf,万一改出问题,能快速恢复。其实 500 错误看着吓人,大部分时候就是权限、路径这些小问题,只要耐心看日志,肯定能解决。希望这些方法能帮你少走弯路,下次遇到 500 错误,就不会手忙脚乱啦。

最新业务:世纪货币网
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

兔格号 经验分享 Nginx 服务器 500 错误日志查看及修复方法 https://www.tglzm.com/seo/fenxiang/5461.html

一个独行者,独揽万古

常见问题

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务