欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


使用tortoisegit访问git@oschina
无线网络常见的互访故障
linux下spamassassin配置
linux中postfix配置安装
2013最受欢迎的服务器管理技巧
SQL Server2000安装时提示挂起的解决方法
系统截图放在哪个文件?
无线路由器死机怎么办
VMware中FreeBSD系统采用NAT方式上网
Linux CentOS Mysql修改默认端口
nginx安装wordpress 502 Bad Gateway
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   首先是更改php-fpm的几处配置:

  /www/wdlinux/php/etc/php-fpm.conf

  /www/wdlinux/etc/php-fpm.conf 把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用;

  把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。

  打开 /usr/local/php/etc/php-fpm.conf

  调大以下两个参数(根据服务器实际情况,过大也不行)

  5120

  600

  504 timeout

  send_timeout 60;

  fastcgi_buffers 8 128k;

  在/www/wdlinux/nginx/conf/nginx.conf

  里增加和调整下这两个参数试试,附其它解决方法

  一、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执行超时 www.111cn.net

  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;

  ......

  }

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站