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.电脑型号SNUUID等 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错误解决内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!