欢迎来到云服务器

服务器租用

nginx提示500 Internal Server Error错误的办理要领

站点常常呈现 500 Internal Server Error 的错误,着实让人头疼,这里主要利用的是 nginx 情况,换成 iis 情况,依然呈现 500 internal server error 错误,,一直找不到原因,网上有人说把友好提示错误去掉,看看提示什么,提示的是 wp php 文件执行时间太长而导致的错误,但无论如何就是找不着错误,只能一遍又一遍的清理接纳站,再不可就重启 iis 情况,今朝也只能这样了,下面是夏日博客汇集的一些质料,是在 nginx 情况下的办理要领,每个情况下都纷歧样,最笨的要领就是重启了。

此刻越来越多的站点开始用 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;   

}   

照旧会呈现上面问题,利用L

[[email protected] nginx]# cat /proc/sys/fs/file-max

8192

文件系统最大可打开文件数

[[email protected] nginx]# ulimit -n

1024

措施限制只能打开1024个文件.

利用[[email protected] 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日志都没有发明什么问题,最后发明数据库会见不了,批改后问题办理.

腾讯云代理

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