沃梦达 / IT编程 / 服务器 / 正文

PHP定时脚本在服务器LNMP环境下执行出现504:Gateway Time-out的解决方法

问题描述:在开发好项目之后需要用到定时任务,写了一个定时脚本,执行时间大概10分钟左右,上线后,执行脚本,每次都执行5分钟,也就是300秒之后,就停止执行了。解决方法:网上找了很多教程,都是通过设置nginx或

问题描述:在开发好项目之后需要用到定时任务,写了一个定时脚本,执行时间大概10分钟左右,上线后,执行脚本,每次都执行5分钟,也就是300秒之后,就停止执行了。

解决方法:网上找了很多教程,都是通过设置nginx或者PHP脚本前面加上下面这几条配置

fastcgi_buffers由 4 64k 改为 2 256k;
fastcgi_buffer_size 由 64k 改为 128K;
fastcgi_busy_buffers_size 由 128K 改为 256K;
fastcgi_temp_file_write_size 由 128K 改为 256K。

博主也设置了,没啥软用。

后面找到了一个设置方法;打开该网站域名的配置文件,加入如下配置:

location ~ [^/]\.php(/|$)
    {
      # comment try_files $uri =404; to enable pathinfo
      try_files $uri =404;
      fastcgi_pass unix:/tmp/php-cgi.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
      #include pathinfo.conf;
      fastcgi_connect_timeout 3800;
      fastcgi_send_timeout 3800;
      fastcgi_read_timeout 3800;
    }

最主要也就是这个三个设置:

fastcgi_connect_timeout 3800;
fastcgi_send_timeout 3800;
fastcgi_read_timeout 3800;

这里设置了1小时的超时时间,可以根据自己需要来设置,这样再次执行脚本就不在报504错误了。

本文标题为:PHP定时脚本在服务器LNMP环境下执行出现504:Gateway Time-out的解决方法