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

nginx php-fpm随机挂起

姚丰羽
2023-03-14

我有一个用Codeigniter制作的网站,在Ubuntu上运行Nginx和PHP-FPM。直到昨天晚上,它工作得还不错,开始加载页面时速度非常慢,有时是504,有时加载页面速度很快。

如果我重新启动nginx或php-fpm,站点会正常工作20-30秒,然后问题再次出现。

以下是nginx错误日志的内容:

[错误]25226#25226:*65从上游读取响应头时上游超时(110:连接超时),客户端:X.X.X.X,服务器:www.mydomain。ext,请求:“GET/HTTP/1.1”,上游:fastcgi://unix:/var/run/php/php5.6-fpm.sock:,主机:“www.mydomain.ext”

在过去的几个小时里,我一直在用谷歌搜索和玩弄nginx和php-fpm-config,但我无法解决它。

有人知道怎么帮我吗?

共有2个答案

能修谨
2023-03-14

尝试按如下方式修改您的配置

pm = ondemand
pm.max_children = 200
pm.process_idle_timeout = 1s
pm.max_requests = 1000

重启fpm,你的问题应该就解决了。

乐正意智
2023-03-14

在我看来,这似乎是FPM过程管理的一个问题。有关更多信息,请参阅此链接。看起来php fpm的进程数量是静态的,流量超过了这个数量。我也遇到过类似的问题,但我不记得这是否就是当时的错误信息。但是行为就像你解释的,一些连接非常慢(等待fpm?)其他人则去了504。

更新:为了证实我的理论,你应该检查文件/etc/php5。6/游泳池。d/www.conf并检查此行:

pm.max_children = X

增加数量并重启fpm。然后看看问题是否解决了。

 类似资料:
  • 我有一个问题,随机502网关错误使用nginx和php-fpm。在我的案例中,我发现了一个场景,其中各种php.inierror_log设置和error_reporting级别导致随机502网关错误出现。 通过改变php。ini设置错误报告和错误日志我能够使502网关错误消失,但更重要的是,我能够看到日志中真正的php错误并修复它们。 主要的问题是,如果“error\u reporting设置为d

  • 问题内容: 有没有什么方法可以模拟Collections.shuffle的行为,而比较器不容易受到排序算法实现的影响,从而确保结果安全? 我的意思是不违反可比合同等。 问题答案: 不打破合同就不可能实现真正的“改组比较器”。合同的一个基本方面是,结果是可 重现的, 因此必须确定特定实例的顺序。 当然,您可以使用混洗操作预先初始化该固定顺序,并创建一个比较器来精确地建立此顺序。例如 虽然没有意义。显

  • 是否有任何方法可以模拟Collections.shuffle的行为,而比较器不容易受到排序算法实现的影响,以确保结果安全? 我的意思是不违反类似的合同等..

  • 我需要一些关于如何调试挂起的新服务器配置的提示。这个网站本身就是Drupal的一个非常大的实例。在APC功能下,每页加载45 MB的PHP内存。 该站点本身使用nginx/php fpm/apc在另一台服务器上运行。我正在设置的新服务器有一个定制的PHP5.3版本。 nginx配置为在端口80上侦听,并将fastcgi请求传递给127.0。0.1:9000. 这很有效。 在Drupal根目录中,我

  • 配置 UserAgent 列表 @app.beans: [ 'UserAgentManager' => [ 'list' => [ // 这里可以放想要用的 UserAgent 列表 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36

  • 每次产生一个随机数。 用法 Your browser does not support the video tag. 案例:掷骰子 功能:设置随机数范围1-6,每按一下按钮,产生一个随机数 工作原理 当输入由no变为yes时,一个随机数将会被传送到输出。你可以通过配置改变随机数的范围 例如:一个随机变色的灯