Nginx显示500错误的原因以及解决方法

目录
  • 1.背景
  • 2.Nginx 常见的几种报错
  • 3. 解决500错误
    • 1.资源不足
    • 2.nginx配置文件错误
  • 总结

1.背景

最近在操作nginx 的时候出现了 Nginx 500 内部错误,在此记录一下原因,项目采用的是前后端分离方式,后端SpringBoot ,前端是Vue 部署到Nginx 下。

2.Nginx 常见的几种报错

500--服务器内部错误:服务器遇到错误,无法完成请求
501--尚未实施:服务器不具备完成请求的功能,如:当服务器无法识别请求方法时,服务器可能会返回此代码
502--网关错误:服务器作为网关或代理,从上游服务器收到了无效的响应
503--服务不可用:服务器目前无法使用,可能由于停机或者超载,通常为暂时的状态
504--网关超时:服务器作为网关或者代理,无法及时从上游服务器接收请求
505--http版本不受支持:服务器不支持请求中所使用的http协议版本

3. 解决500错误

1.资源不足

查看服务器的硬盘空间是否满了

linux 系统:df -h

window 系统:

cmd(Dos)命令查看硬盘和内存/CPU信息等
1.查看磁盘信息:freedisk 可以查看每一个盘的剩余空间
wmic diskdrive
可以看出来牌子和大小.
Wmic logicaldisk
可以看到有几个盘,每一个盘的文件系统和剩余空间
wmic volume
每个盘的剩余空间量,其实上一个命令也可以查看的
fsutil volume diskfree c:
这个命令查看每一个卷的容量信息是很方便

2.CPU信息
wmic cpu
上面显示的有位宽,最大始终频率, 生产厂商,二级缓存等信息

3.内存信息
wmic memorychip
可以显示出来三条内存,两条256,一条1G的,速度400MHz

4.BIOS信息
wmic bios

5.电脑型号\SN\UUID等
wmic csproduct*

2.nginx配置文件错误

这里不是指语法错误,nginx如果配置文件有语法错误,启动的时候就会提示。当配置rewrite的时候,有些规则处理不当会出现500错误,请仔细检查自己的rewrite规则。如果配置文件里有些变量设置不当,也会出现500错误,比如引用了一个没有值的变量,
我这里报错 是因为:

这个路径错误导致的。

如果是并发数太多too many open files 修改nginx.config 的并发数

解决方法是:

打开/etc/security/limits.conf文件,加上两句

复制代码代码如下:

  • soft nofile 65535
  • hard nofile 65535

打开/etc/nginx/nginx.conf

在worker_processes的下面增加一行

复制代码代码如下:

  • worker_rlimit_nofile 65535;

重新启动nginx,重新载入设置

有可能是数据库问题

总结

到此这篇关于Nginx显示500错误的原因以及解决方法的文章就介绍到这了,更多相关Nginx 500错误解决内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx 502 bad gateway错误解决的九种方案及原因

    目录 前言 502系列错误代码 5XX系列错误代码 Nginx 502 Bad Gateway 错误的原因及解决方法 1.检查PHP基础设置 2.FastCGI进程是否已经启动 3.FastCGI worker进程数是否不够 4.FastCGI执行时间过长 5.FastCGI Buffer不够 6.FastCGI 缓冲区设置过小 7.代理缓冲区设置过小(使用了nginx反向代理的情况) 8.默认php-cgi的进程数设置过少 9.其它原因 总结 前言 502 Bad Gateway 是一种HTT

  • Nginx location 和 proxy_pass路径配置问题小结

    目录 一.Nginx location 基本配置 1.1.Nginx 配置文件 1.2 .Python 脚本 二.测试 2.1.测试 location 2.2.测试 location 2.3.测试三 location 2.4.location 不加 2.5.location 末尾 2.6. location 末尾 三.总结 本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程.帮助了解具体的情况. 一.Nginx l

  • nginx 代理后出现503的解决方法

    目录 问题: 解决思路: 问题: 配置serve_name后,并且在hosts中添加对应的映射,重新启动nginx后,不生效 解决思路: 1.serve_name设不设置,启动nginx后,都能通过localhost或者windows10.microdone.cn访问: 2.根据这个问题,查看网络配置: 操作步骤:1).win+r,输入regedit: 2).查看注册表: 计算机\HKEY_ _CURRENT_ _USER\Software\Microsoft\Windows\CurrentVe

  • Nginx如何配置根据路径转发详解

    目录 先谈理解: 1.nginx基本概念 2.常用命令以及配置文件 3.nginx配置实例之反向代理 4.nginx配置实例之负载均衡 5.nginx配置实例之动静分离 6.nginx配置高可用集群 Location规则 举例 总结 先谈理解: 1.反向代理:是nginx代理所有的服务器.而正向代理是vpn代理客户端!! 反向代理是配置 proxy_pass 可以只配置一个地址如 : proxy_pass http://127.0.0.1:8081; 也可以配置多个 2.那就是负载均衡 定义负载

  • nginx如何指向本地路径及500错误解决方法

    正文 一个vite+vue3项目,想要部署到服务器上.项目build后的文件都在dist目录下,将这个目录拷贝到服务器上,然后在nginx里进行配置,如下: server { listen 3571; server_name localhost; location / { root /root/xxxx/dist/; try_files $uri $uri/ /index.html; } } 这样就可以通过服务器的公网ip+端口3571来访问这个vue项目了,如果想通过域名访问,则可以这样配置:

  • Nginx 504 Gateway Time-out的两种最新解决方案

    目录 背景: 问题: 504从哪来:本文的场景下504是nginx返回的. 两种解决方案 其他问题: 总结 背景: Nginx做反向代理,springboot为后端服务. 问题: 通过浏览器向后台发起请求够,由于后台处理时间长,出现504 Gateway Time-out,实际后台程序依然在执行.如何解决? 504从哪来:本文的场景下504是nginx返回的. nginx配置中控制该超时时间的属性: Syntax: proxy_read_timeout time; Default: proxy_

  • Nginx 403 forbidden错误的原因以及解决方法

    目录 一.由于启动用户和nginx工作用户不一致所致 1.1查看nginx的启动用户,发现是nginx,而为是用root启动的 1.2将nginx.config的user改为和启动用户一致, 1.3 也可以使用如下命令直接查看 二.缺少index.html,就是配置文件中index index.html index.htm这行中的指定的文件. 三.权限问题,如果nginx没有web目录的操作权限,也会出现403错误. 总结 一.由于启动用户和nginx工作用户不一致所致 1.1查看nginx的启

  • Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法

    下面说一下,最近在使用jquery 1.4中使用$.ajax()方法解析json对象遇到的问题. Json对象是: 复制代码 代码如下: [{name:'二手房出售',infoCount:0,pageUrl:'/ershoufang'},{name:'二手房求购',infoCount:0,pageUrl:'/qiugou'},{name:'二手房装修',infoCount:0,pageUrl:'/esfzhuangxiu'},{name:'二手回收',infoCount:0,pageUrl:'/

  • thinkPHP显示不出验证码的原因与解决方法分析

    本文实例讲述了thinkPHP显示不出验证码的原因与解决方法.分享给大家供大家参考,具体如下: 今天到公司,svn update代码后,在浏览器上输入域名后,在验证码那块显示不出,找了半个上午,后来仔细看了下apache的配置文件 <VirtualHost *:80> ServerName admin.exam.com DocumentRoot E:/www/exam/trunk/server/Admin/ <Directory E:/www/exam/trunk/server/apps

  • MySQL too many connections错误的原因及解决

    今天中午,开发测试环境的MySQL服务报了一个too many connections的错误,从问题上看,可能是连接池被打满了,导致所有的连接都不可用了. 在这种情况下,最为直接的办法就是重新设置最大连接数,查看my.cnf文件,里面关于连接数的参数有两个,分别是: max_connections:最大连接数 max_user_connections:用户最大连接数 其中,第一个参数确定的是该实例的最大连接数,第二个参数确定的是单个用户的最大连接数. 一般的线上环境,为了保险起见,一般这两个参数

  • Thinkphp5 微信公众号token验证不成功的原因及解决方法

    最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败.为此,我甚至手工写了微信提交过来的记录,如: &timestamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439 我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错.忍无可忍,一直无

  • jQuery通过ajax方法获取json数据不执行success的原因及解决方法

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述3个标准写法: 1)键名称:用双引号括起: 2)字符串:用双引号括起: 3)数字,布尔值不需要使用双引号括起 : 注意:一定是双括号! 2.jQuery中ajax使用json数据类型总是跳过success执行error语句 执

  • PHP 500报错的快速解决方法

    1 先看nginx error.log 指定的错误日记文件路径 找到这个日记文件看 里面信息 2 再看  php-fpm.conf 里面指定的PHP错误日记的路径 具体如下 php_flag[display_errors] = off php_admin_flag[log_errors] = on php_admin_value[error_log] = /data/logs/fpm-php.log 以上就是小编为大家带来的PHP 500报错的快速解决方法全部内容了,希望大家多多支持我们~

  • Java 内存溢出的原因和解决方法

    你是否遇到过Java应用程序卡顿或突然崩溃的情况?您可能遇到过Java内存泄漏.在本文中,我们将深入研究Java内存泄漏的确切原因,并推荐一些最好的工具来防止内存泄漏发生. 什么是JAVA内存泄漏? 简单地说,Java内存泄漏是指对象不再被应用程序使用,而是在工作内存中处于活动状态. 在Java和大多数其他编程语言中,垃圾收集器的任务是删除不再被应用程序引用的对象.如果不选中,这些对象将继续消耗系统内存,并最终导致崩溃.有时java内存泄漏崩溃不会输出错误,但通常错误会以java.lang.Ou

  • el-form resetFields无效和validate无效的可能原因及解决方法

    目录 问题导入 简单实例 1.官方案例 2.个人案例 resetFields失效及解决办法 validate失效及解决办法 3.model is required for validate to work! 结尾 问题导入 在使用 el-form 过程中,尤其是表单验证这一块,官方提供的 reserFields 方法以及验证方面存在一些坑,在此记录一下,给大家提供可能的解决办法. 简单实例 1.官方案例 先来看看官方提供的案例,对应的官网 表单验证 对应的代码 <el-form :model=&qu

  • AngularJS使用ng-inlude指令加载页面失败的原因与解决方法

    本文实例讲述了AngularJS使用ng-inlude指令加载页面失败的原因与解决方法.分享给大家供大家参考,具体如下: AngularJS中提供的ng-include指令,很类似于JSP中的<jsp:include>用来将多个子页面合并到同一个父页面中,避免父页面过大,可读性差,不好维护. 父页面parent.html代码如下: <html> <head> <script src="angular-1.2.2/angular.js">&

随机推荐