Nginx提示502、504错误解决办法收集

错误提示原因分析:

解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,
而Nginx 504 Gateway Time-out则是与nginx.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是”max_children”,另一个是”request_terminate_timeout” ,但是这个值不是通用的,而是需要自己计算的。

方法一,临时解决办法:

综上所述,Nginx提示502和504错误的临时解决办法是:

1、调整php-fpm.conf的相关设置:

 代码如下 复制代码

<value name=”max_children”>32</value>
<value name=”request_terminate_timeout”>30s</value>

2、调整nginx.conf的相关设置:

 代码如下 复制代码

fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffer_size 256k;
fastcgi_buffers 16 256k;
fastcgi_busy_buffers_size 512k;
fastcgi_temp_file_write_size 512k;

方法二,定时重启php-fpm:

标题3中所示的解决方案只能临时解决问题,而如果网站的访问量确实非常非常大,而Nginx+FastCGI只能对处理瞬间或短时间内的高并发有很好的效果,所以目前唯一的终极解决方案是:定时平滑重启php-cgi。

具体配置如下:

1、写一个非常简单的脚本:

 代码如下 复制代码
#vi /home/www/scripts/php-fpm.sh
    内容如下:
#!/bin/bash
# This script run at */1
/usr/local/php/sbin/php-fpm reload

2、将脚本添加至计划任务:

 代码如下 复制代码
#crontab -e
    内容如下:
*/1 * * * * /home/www/scripts/php-fpm.sh

注:为了省事起见,也可以不写脚本,直接在crontab里写入php-fpm的平滑重启命令。

时间: 2024-08-03 21:53:21

Nginx提示502、504错误解决办法收集的相关文章

nginx 反向代理 504 错误解决办法

代理服务器nginx 配置是这样的  代码如下 复制代码 server {         listen  80;         server_name     *.*;         location / {                 proxy_pass http://192.168.0.100:8001;                 proxy_set_header host $host;                 proxy_set_header X-Forwarde

IIS提示Service Unavailable错误解决办法

问题一 . 现象描述 1)访问网站出现"Service Unavailable"错误 2)查看IIS中的应用程序池出现被自动禁用情况 3)计算机管理 - 系统工具 - 事件查看器 - 应用程序:出现错误(来源:.NET Runtime 2.0,类型:错误,事件ID :1000,描述:Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, ver

mysql中使用过程中常见错误解决办法收集

1.Mysql errono 1005 : 主外键不是完全一致 , 请检查如下几点:       a.字段是否存在       b.类型是否一致(注意unsigned , powerdesign 生成问题)       c.数据库引擎是否一致       d.字符编码是否一致       e.windows平台下注意修改lower_case_table_names = 0, windows本身不区分文件大小写,改为0之后就区分了可能造成找不到引用的表  2.Mysql errono  121: 

mysql保存查询数据提示:specified twice错误解决办法

错误提示 MySQL提示Column 'content' specified twice,根据英文我们知道是列"content"被使用了两次,这样就好解决了,找到sql语句中删除一个content字段即可. 解决办法 就是删除你重复的字段即可

WordPress搬家到Nginx上出现500错误解决办法

wordpress从apache上迁移到了nginx,数据库配置无误后仍然打不开,检查http状态,结果返回500,如下图: 之前在apache下.htaccess配置错误的时候会遇到类似的错误,于是首先想到nginx的伪静态配置有问题,nginx下wordpress用的伪静态规则如下: location / {   if (-f $request_filename/index.html){                   rewrite (.*) $1/index.html break; 

Typecho 1.0 Nginx 提示access denied的解决办法。

使用Nginx驱动typecho,刚安装后可以看到首页却不能访问管理登录或伪静态页面,找了好多方法包括修改:/usr/local/php/etc/php-fpm.conf  在后面加上一行:security.limit_extensions = .php .asmx .html .js .css .jpg .jpeg .gif .png .htm.可是页面还不正常,按照这个blog修改了nginx配置后,问题解决.然后却发现,输入用户名密码后提示Access denied.提示cgi.fix_p

Win10安装.net失败提示错误代码0x80070003错误解决办法

如下所示我们安装net frameword3.5会提示无法安装以下功能了: 原因分析: 如果电脑创建过多个账户并且有的已经删除了,这样可能导致一些问题,因为注册表没有清除干挣了 Win10系统安装.net失败的解决方法:  方法一: 1.现在我信来进入到系统的注册表了,可以使用win10搜索功能搜索Regedit回车打开注册表编辑器;(或按Win+R打开运行然后输入 Regedit 点击确定即可打开注册表) 2.在注册表中定位到: HKEY_LOCAL_MACHINE\SOFTWARE\Micr

dedecms上传文件提示Field:1错误解决办法

一个项目突然上传图片提示错误,昨天还是好好的,我第一想法就是空间满了,查看空间大小还有很多,google一下才发现,是BOM头的问题,可能是用记事本修改了common.inc.php文件直接传上去的,产生了BOM,用编辑器清除一下BOM头或者把下面的代码保存成1.php上传到网站的根目录执行即可!  代码如下 复制代码 $filename = './data/common.inc.php'; $contents = file_get_contents($filename); $charset[1

安装Office时提示error 1706错误解决办法

如下所示,安装过程中提示 error1706,如图所示:     原因分析: 通常是由于权限不足或对TEMP文件夹缺少足够权限导致的. 解决方案: 1. 在电脑桌面我们双击"计算机"进入之后再找到"组织"进入然后找到"文件夹和搜索选项"再点击下面的"查看"之后我们再"隐藏受保护的系统操作文件" 选中状态给取消选,接着我们再把"显示文件.文件夹和驱动器"前的复选框选上---确定. 2. 好