此刻越来越多的站点开始用 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;
}照旧会呈现上面问题,利用
[[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了