nginx报网络连接错误(Nginx 502 Bad Gateway错误原因及解决方案)
nginx报网络连接错误
Nginx 502 Bad Gateway错误原因及解决方案Nginx 502 Bad Gateway 的错误已经遇到好几次了,这里做一下记录,备忘哈哈。
会有好多种情况出现502错误,下面我们分情况来说一下。
一、fastcgi缓冲区设置过小
出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误。
2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream
查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。
网上查找了一下解决方法,在国外网站看到了一个增加缓冲区的方法,彻底解决了Nginx 502 Bad Gateway的问题。方法如下:
http { ... fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; ... }
请根据服务器已经网站的情况自行增大上述两个配置项。
二、代理缓冲区设置过小
如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端处理,后端返回的header太大,nginx处理不过来就会导致502。
server { listen 80; server_name *.lxy.me; location / { ###############添加这3行 proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; ###############添加这3行 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ............ }
三、默认php-cgi的进程数设置过少
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。也有可能是max_requests值不够用。需要说明的是这连个配置项占用内存很大,请根据服务器配置进行设置。否则可能起到反效果。
四、php执行超时
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
五、nginx等待时间超时
部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间
http { fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; ..... }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- nginx服务器有什么用(Nginx的作用详解,为什么在Web服务器中Nginx的比例越来越高?)
- nginx路径匹配优先级(Nginx的location的常见规则优先级问题)
- nginx 进程关闭(详解nginx进程锁的实现)
- 修改宝塔nginx端口(解决宝塔面板nginx/apache防火墙后无法启动)
- nginx 重置端口号(详解如何修改nginx的默认端口)
- 实战部署nginxdocker(基于Docker、Nginx和Jenkins实现前端自动化部署)
- nginxtomcat工作原理(Windwos下实现Nginx+Tomcat集群过程解析)
- 服务器启动nginx服务的命令(Nginx服务器添加Systemd自定义服务过程解析)
- docker安装nginx如何配置(docker部署nginx并且挂载文件夹和文件操作)
- nginxlocation匹配参数(nginx location优先级的深入讲解)
- nginx如何配置多个域名访问(Nginx同一个域名配置多个项目的实现方法)
- linux下安装nginx常见问题(Linux安装Nginx步骤详解)
- 宝塔nginx配置修改(宝塔面板安装Tengine报错:nginx: [emerg] invalid IPv6 address in resolver)
- zabbix5.0源码安装(nginx的zabbix 5.0安装部署的方法步骤)
- nginx如何配置php项目(Nginx服务器究竟是怎么执行PHP项目)
- nginx配置root后的路径打不开(详解nginx.conf 中 root 目录设置问题)
- 冰岛旅游攻略(冰岛旅游攻略及花费)
- 为什么现在年轻人越来越喜欢买衣服(为什么现在年轻人越来越喜欢买衣服穿)
- 怎么做好SEO(怎么做好seo内容优化)
- 冬季钓鱼子线用 长 还是 短(冬季钓鱼子线用)
- 鱼竿 夏钓短,冬钓长 ,一定是这样 认清优缺点在选竿(鱼竿夏钓短冬钓长)
- 鲢鳙钓底还是钓浮 流水的水域应怎样做钓(鲢鳙钓底还是钓浮)
热门推荐
- sqlserver日期型数据类型是哪个(SQL Server时间戳功能与用法详解)
- js扫雷小游戏源代码(原生js实现简单贪吃蛇小游戏)
- mysql密码过期怎么改(年底了,你的mysql密码安全吗)
- js截取字符串
- python的os模块操作(Python OS模块实例详解)
- sqlserver 添加分区(SQL Server 数据库分区分表水平分表详细步骤)
- 云主机越来越受欢迎吗(选择香港云主机的三个理由)
- sqlserver删除表的第一行数据(sql server删除前1000行数据的方法实例)
- dedecms调用logo标签(DedeCMS 5.7 tag标签长度限制的修改方法)
- dedecms分页修改(dedecms 自动审核会员发表的最新文章的修改方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9