|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。
本文章来给人人总结了大批关于招致nginx中提醒500InternalServerError毛病的缘故原由总结与办理办法剖析有必要懂得的伴侣可参考参考
如今愈来愈多的站点入手下手用Nginx,("enginex")是一个高功能的HTTP和反向代办署理服务器,也是一个IMAP/POP3/SMTP代办署理服务器。Nginx是由IgorSysoev为俄罗斯会见量第二的Rambler.ru站点开辟的,它已在该站点运转凌驾两年半了。Igor将源代码以类BSD允许证的情势公布。
在高并发毗连的情形下,Nginx是Apache服务器不错的替换品。Nginx同时也能够作为7层负载平衡服务器来利用。依据测试了局,Nginx0.6.31+PHP5.2.6(FastCGI)能够接受3万以上的并发毗连数,相称于一律情况下Apache的10倍。
但良多人用Nginx的时分城市呈现500毛病,依据我利用的情形来看,很年夜一部分缘故原由是由于文件翻开句柄太小有关。
在linux下利用这个命令增添历程翻开的文件句柄。
ulimit-SHn51200
默许只用1000当链接数小的时分看不出来,利用这类处置办法能够无效避免500毛病呈现。
明天会见网站的时分,偶然会赶上500InternalServerError的毛病提醒页面.
查了相干材料以为是会见过年夜,体系内核历程受限才呈现的.
谜底以下:
$ulimit-n
11095
程序限定只能翻开11095个文件,ulimit命令是设置以后用户一个历程可具有的文件形貌符的数目.
看来是摹拟的并发数太多了,必要调剂一下nginx.conf的并发设置数,(我的设置主机的内存2G,CPU为2.8G,)
vi/etc/nginx/nginx.conf
events{
worker_connections1024;
}
调剂为
events{
worker_connections10240;
}
仍是会呈现下面成绩,利用
[root@qimutiannginx]#cat/proc/sys/fs/file-max
8192
文件体系最年夜可翻开文件数
[root@qimutiannginx]#ulimit-n
1024
程序限定只能翻开1024个文件
利用[root@qimutiannginx]#ulimit-n8192调剂一下
大概永世调剂翻开文件数可在启动文件/etc/rc.d/rc.local开端增加(在/etc/sysctl.conf开端增加fs.file-max=8192)
ulimit-n8192
调剂CentOS5文件翻开数
利用ulimit-a一下,发明OPENFILES不克不及默许凌驾1024,今天的在举行压力测试时,呈现500毛病,详细请检察
nginx呈现500InternalServerError
早上起来看一下,发明本来是经由过程以下体例调剂
办法1(永世调剂)
vi/etc/security/limits.conf
在文件末加上:
*softnofile8192
*hardnofile20480
同时vi/etc/sysctl.conf开端增加
fs.file-max=8192
从头启动,在利用ulimit-n检察的数已是8192
办法2(一时用)
间接在终端输出ulimit-n8192按回车就ok了
500InternalServerError毛病增补:
1、硬盘空间满了
利用df-k检察硬盘空间是不是满了。清算硬盘空间就能够办理500毛病。nginx假如开启了accesslog,在不必要的情形下,最好封闭accesslog。accesslog会占用大批硬盘空间。
2、nginx设置文件毛病
这里不是指语法毛病,nginx假如设置文件有语法毛病,启动的时分就会提醒。当设置rewrite的时分,有些划定规矩处置不妥会呈现500毛病,请细心反省本人的rewrite划定规矩。假如设置文件里有些变量设置不妥,也会呈现500毛病,好比援用了一个没有值的变量。
3、假如下面的成绩都不存在多是摹拟的并发数太多了,必要调剂一下nginx.conf的并发设置数
办理办法是:
1翻开/etc/security/limits.conf文件,加上两句
*softnofile65535
*hardnofile65535
2翻开/etc/nginx/nginx.conf
在worker_processes的上面增添一行
worker_rlimit_nofile65535;
3从头启动nginx,从头载进设置
kill-9`ps-ef|grepphp|grep-vgrep|awk{print$2}`
/usr/bin/spawn-fcgi-a127.0.0.1-p9000-C100-uwww-data-f/usr/bin/php-cgi
killall-HUPnginx
重启后再看nginx的毛病日记,也没有发明500报错的情形了。
4、有多是数据库成绩我的在nginx日记php日记都没有发明甚么成绩,最初发明数据库会见不了,修改后成绩办理.
</p>
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。 |
|