nginx报错能看到错误代码(nginx提示:500 Internal Server Error错误的解决方法)
类别:服务器 浏览量:1335
时间:2022-03-28 01:39:25 nginx报错能看到错误代码
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的下面增加一行
3 重新启动nginx,重新载入设置
/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日志都没有发现什么问题, 最后发现数据库访问不了,修正后问题解决.
您可能感兴趣
- 如何提高nginx性能(提升Nginx性能的一些建议)
- nginx的最大并发(nginx限制并发连接请求数的方法)
- nginx做转发配置weight啥意思(Nginx中break与last的区别详析)
- nginx tomcat docker 负载均衡(Nginx+Tomcat实现负载均衡、动静分离的原理解析)
- linux下安装nginx常见问题(Linux安装Nginx步骤详解)
- nginx怎么配置静态文件(Nginx 过滤静态资源文件的访问日志的实现)
- nginx 配置解析(Nginx的rewrite模块详解)
- nginxlocation和alias的区别(nginx搭建图片服务器的过程详解root和alias的区别)
- nginx+ssl配置详解(nginx配置ssl实现https的方法示例)
- nginxtomcat工作原理(Windwos下实现Nginx+Tomcat集群过程解析)
- nginxssl证书怎么设置(nginx结合openssl实现https的方法)
- dockernginx怎么设置容器(docker nginx + https 子域名配置详细教程)
- 服务器启动nginx服务的命令(Nginx服务器添加Systemd自定义服务过程解析)
- nginx启动报错连接失败(宝塔面板Nginx环境中出现404 Not Found的解决方法)
- linux nginx搭建(Ubuntu使用nginx搭建webdav文件服务器的详细过程)
- nginx优化安全设置(nginx优化的六点方法)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
热门推荐
- dede联动菜单样式(dede标签云如何生成不同颜色、不同大小的tag标签)
- sqlserver数据库备份怎么还原(SQL Server2012数据库备份和还原的教程)
- 网站图片防盗链的常见方法
- vue数据改变页面不刷新(vue列表数据删除后主动刷新页面及刷新方法详解)
- nginx配置使用环境变量(关于Nginx开启gzip的配置的问题)
- selenium是否登录成功(使用selenium模拟登录解决滑块验证问题的实现)
- IIS假死的原因
- canvas图片填充位置(手摸手教你用canvas实现给图片添加平铺水印的实现)
- 表空间不足无法登录(System表空间不足的报警问题浅析)
- docker 限制cpu使用率(docker CPU限制的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9