欢迎来到云服务器

系统配置

nginx提示:500 Internal Server Error错误怎么样解决

今天发现网站无法上传资源和发布文章,通过浏览器查看服务器的返回信息

 Internal  "hljs-built_in">Server  "hljs-keyword">Error

刚开始我以为是应用服务器或者是程序异常,检查了下各自的日志,连请求记录都无,程序代码里也没抛出过该类型的异常,所以可以从服务器或者Nginx中找原因了。

1、是否磁盘空间不足?

使用 df -k 查看硬盘空间是否满了。清理硬盘空间就可以解决500错误。nginx如果开启了access log,在不需要的情况下,最好关闭access log。access log会占用大量硬盘空间。

2、nginx配置文件错误?

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

3、如果上面的问题都不存在可能是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数

解决方法是:
1.打开/etc/security/limits.conf文件,加上两句

"hljs-bullet">* soft nofile 65535
* hard nofile 65535

2.打开/etc/nginx/nginx.conf ,在worker_processes的下面增加一行

worker_rlimit_nofile 65535;

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

kill  "hljs-subst">- `ps -ef | grep php | grep -v grep | awk '{print $2}'`
/usr/bin/spawn "hljs-attribute">-fcgi -a 127.0.0.1 -p  -C  -u www-data -f /usr/bin/php-cgi
killall -HUP nginx

重启后再看nginx的错误日志,有没有发现500报错的情况了。

总结

发现问题的时候,我没去google或者百度,而是直接登录远程服务器排查问题,花了将近一个小时才查出问题解决问题,浪费不少时间,这让我想起一句很经典的话:程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号