服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - WEB服务器 - nginx提示:500 Internal Server Error错误的解决方法

nginx提示:500 Internal Server Error错误的解决方法

2019-05-21 11:31网络服务器之家 WEB服务器

本文章来给大家总结了大量关于导致nginx中提示500 Internal Server Error错误的原因总结与解决方法分析有需要了解的朋友可参考参考

现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。 

在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据测试结果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。 

但很多人用 Nginx 的时候都会出现 500 错误,根据我使用的情况来看,很大一部分原因是 因为文件打开句柄太小有关。

在linux 下 使用这个命令增加进程打开的文件句柄。 
ulimit -SHn 51200 
默认只用1000 当链接数小的时候看不出来,使用这种处理方法可以有效防止500错误出现。 
今天访问网站的时候,偶尔会遇上500 Internal Server Error的错误提示页面. 
查了相关资料认为是访问过大,系统内核进程受限才出现的. 

答案如下: 

$ ulimit -n 
11095 

程序限制只能打开11095个文件,ulimit命令是设置当前用户一个进程可拥有的文件描述符的数量. 
看来是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数,(我的配置主机的内存2G,CPU为2.8G,) 

复制代码代码如下:

vi /etc/nginx/nginx.conf 
events { 
worker_connections 1024; 


调整为 
复制代码代码如下:

events { 
worker_connections 10240; 


还是会出现上面问题,使用 
[root@qimutian nginx]# cat /proc/sys/fs/file-max 
8192 
文件系统最大可打开文件数 
[root@qimutian nginx]# ulimit -n 
1024 
程序限制只能打开1024个文件 
使用[root@qimutian nginx]# ulimit -n 8192调整一下 
或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾添加(在/etc/sysctl.conf末尾添加fs.file-max=8192) 
ulimit -n 8192 
调整CentOS5文件打开数 
使用ulimit -a一下,发现OPEN FILES不能默认超过1024,昨天的在进行压力测试时,出现500错误,具体请查看 
nginx出现 500 Internal Server Error 
早上起来看一下,发现原来是通过如下方式调整 
方法1 (永久调整) 

vi /etc/security/limits.conf 

在文件末加上: 

* soft nofile 8192 
* hard nofile 20480 

同时vi /etc/sysctl.conf末尾添加 
fs.file-max=8192 
重新启动,在使用ulimit -n查看的数已经是8192 

方法2 (临时用) 

直接在终端输入 ulimit -n 8192 按回车就ok了

500 Internal Server Error错误补充:

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文件,加上两句 

复制代码代码如下:

* soft nofile 65535 
* hard nofile 65535 


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

复制代码代码如下:
worker_rlimit_nofile 65535;


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

复制代码代码如下:
kill -9 `ps -ef | grep php | grep -v grep | awk '{print $2}'` 
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 100 -u www-data -f /usr/bin/php-cgi 
killall -HUP nginx 


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


4、有可能是数据库问题我的在nginx日志php日志都没有发现什么问题, 最后发现数据库访问不了,修正后问题解决.

延伸 · 阅读

精彩推荐
  • WEB服务器腾讯云web服务器配置主页

    腾讯云web服务器配置主页

    腾讯云 Web服务器配置主页 在当今数字化时代,网站已经成为企业和个人展示自己的重要渠道。为了提供稳定、快速和可靠的Web服务, 腾讯云 提供了一系列...

    未知1902023-07-19
  • WEB服务器云服务器构建web

    云服务器构建web

    云服务器 构建Web 摘要: 随着互联网的蓬勃发展,越来越多的公司和个人开始将自己的业务放置在云服务器上。云服务器为Web应用程序提供了高可用性、可...

    未知1602023-08-16
  • WEB服务器web网站布置到云服务器上

    web网站布置到云服务器上

    Web网站布置到 云服务器 上 随着互联网的发展,越来越多的企业和个人开始关注将自己的网站部署到云服务器上。云服务器提供了更强大的计算资源和更高...

    未知662023-07-01
  • WEB服务器购买云服务器做成web服务器

    购买云服务器做成web服务器

    购买 云服务器 做成Web服务器 随着互联网的快速发展,越来越多的人开始使用云服务器作为他们的Web服务器。购买云服务器可以帮助个人、企业和组织快速...

    未知1742023-08-17
  • WEB服务器福建web云服务器应用

    福建web云服务器应用

    福建web 云服务器 应用 随着互联网的普及和发展,越来越多的企业和个人开始意识到云服务器的重要性和优势。云服务器可以满足不同规模和需求的应用,...

    未知1602023-07-13
  • WEB服务器腾讯云服务器部署javaweb

    腾讯云服务器部署javaweb

    腾讯 云服务器 部署JavaWeb 摘要: 随着互联网技术的快速发展,越来越多的企业和个人开始采用云服务器来搭建和部署自己的网站和应用。 腾讯云 作为国内...

    未知1622023-08-24
  • WEB服务器wdcp /dev/vda1 磁盘占满使用100%解决办法

    wdcp /dev/vda1 磁盘占满使用100%解决办法

    本文主要讲解wdcp面板/dev/vda1 磁盘占满使用100%解决办法,有需要的朋友可以参考下...

    viqecel11612020-07-16
  • WEB服务器分享几种常见WEB服务器配置方案

    分享几种常见WEB服务器配置方案

    在众多专用服务器中,WEB服务器应该是我们最为熟知和常用到的了,根据不同的建站及WEB需求,WEB服务器有着好几种常见的环境配置方案,这里就总结分享...

    服务器之家5862020-04-18