站点常常呈现 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日志都没有发明什么问题,最后发明数据库会见不了,批改后问题办理.