当前位置: 首页 > 知识库问答 >
问题:

240秒后脚本超时

厉文栋
2023-03-14

我正在运行一个Nginx PHP-FPM服务器,我有一个脚本,应该在30分钟内执行。240秒后,它停止工作,并从Nginx返回502网关错误。

执行的PHP-FPM日志:

[03-May-2013 19:52:02]警告:[池www]child 2949,脚本'/var/www/shell/import_db。php'(请求:“GET/shell/import_db.php”)执行超时(239.971196秒),终止
[03-May-2013 19:52:02]警告:[pool www]child 2949在启动540.054237秒后在信号15(SIGTERM)上退出
[03-May-2013 19:52:02]注意:[pool www]child 3049已启动

执行的Nginx日志:

2013/05/03 19:52:02[错误] 2970#0:*1 recv()失败(104:通过对等连接重置),同时读取上游响应标头,html" target="_blank">客户端:98.172.80.203,服务器:www.example.net,请求:"GET /shell/import_db.phpHTTP/1.1",上游:"fastcgi://127.0.0.1:9000",主机:"www.example.net"

我已经在ApacheSuphp服务器上运行了这个脚本,它的执行非常完美。除此之外,我还包括:set\u time\u limit(0) 在我的脚本顶部。

根据phpinfo()的规定,最大执行时间是1800秒(最初是300秒,我为了让它工作而将它增加到这个值)。

FastCGI Nginx配置:

## Fcgi Settings
include                        fastcgi_params;
fastcgi_connect_timeout        60;
fastcgi_send_timeout           180s;
fastcgi_read_timeout           600s;
fastcgi_buffer_size            4k;
fastcgi_buffers 512            4k;
fastcgi_busy_buffers_size      8k;
fastcgi_temp_file_write_size   256k;
fastcgi_intercept_errors       off;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME     $fastcgi_script_name;
# nginx will buffer objects to disk that are too large for the buffers above
fastcgi_temp_path              /tmpfs/nginx/tmp 1 2;
#fastcgi_keep_conn              on; # NGINX 1.1.14
expires                        off; ## Do not cache dynamic content

我重新启动了php fpm和nginx,但没有用。我缺少什么设置或配置,或者我可以检查哪些设置或配置?


共有1个答案

隗瑞
2023-03-14

当您使用php-fpm运行nginx时,nginx会尝试与php-fpm的孩子保持联系。您应该设置以下指令来更改:

fastcgi_保持连接关闭;

 类似资料:
  • 我正在写一个php脚本,它访问远程服务器上的csv文件,处理数据,然后将数据写入本地MySQL数据库。因为要处理和插入数据库的数据太多(50000行),所以脚本运行时间超过60秒。我的问题是,脚本在60秒后超时。 为了确保这不是MySQL的问题,我创建了另一个进入无限循环的脚本,它也会在60秒时超时。 我尝试增加/更改Ubuntu服务器上的以下设置,但没有帮助:max_execution_time

  • 我们公司的应用程序遇到了崩溃,但这个问题不一定存在,我现在无法重现这个问题,我们可以为我提供下一个解决方案的想法 id.finalize()id是RandomAccessFile的子类。 此堆栈跟踪是:

  • 我在尝试运行JMeter脚本时收到以下错误。该API在Loadrunner中运行良好。我在SSL版本的user.properties中设置了https.default.protocol=tlsv1.2。什么可能导致以下错误。 exception:连接到rxxxxx.xxxx-xxxx.xxxxx.xxxxx.xxxxx.net:443[xxxxxx.xxxxx.xxxxx.xxxxx/21.60.

  • 我正在使用selenium webdriver和Java。7/10次我的脚本失败,出现错误: scriptTimeoutException:脚本超时 我试过很多种选择: 增加等待时间 尝试了方法jsWaitForPageToLoad并验证了js.executescript(“”return document.readyState“”).ToString().equals(“complete”) 等

  • 本文向大家介绍python实现淘宝秒杀脚本,包括了python实现淘宝秒杀脚本的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现淘宝秒杀脚本的具体代码,供大家参考,具体内容如下 1.安装pycharm。网上教程很多。 2.安装 Selenium 库。 Selenium支持很多浏览器,我选择的是Firefox浏览器。 因为我这里是Python3环境,自带的又pip,所以安

  • 在我的android应用程序中,我使用带有sqlcipher库的Room进行加密/解密。我经常在Crashlysis中看到以下崩溃: java.util.concurrent.超时异常:net.sqlcipher.database.SQLiteCompiledSql.finalize()在sun.misc.Unsafe.park(本地方法)在java.util.concurrent.locks.L