【问题标题】:How can I troubleshoot a 504 timeout error using Magento, Apache, PHP-FPM, and Varnish?如何使用 Magento、Apache、PHP-FPM 和 Varnish 解决 504 超时错误?
【发布时间】:2022-01-17 20:35:26
【问题描述】:

我有一个 Magento 网站,我正在尝试在管理面板(在我的浏览器中)启动一个后端进程,提交时会警告您该进程“可能需要很长时间”。但是,每当我点击提交时,我都会遇到 504 超时错误并且无法弄清楚原因。

我已将我的 PHP max_execution_time 增加到 1800 秒,但请求恰好在 60 秒后超时。我使用 Cloudflare 作为代理,但是即使我关闭代理设置,60 秒后我仍然会超时。服务器是 Vultr 上的云计算类型。由于 (this question) 我还检查并确保这背后没有任何负载平衡器。

我已尝试检查 php-fpm 和 apache 日志,但找不到与 504 相关的任何内容。

我怎样才能开始解决这个问题并让进程运行多久?

【问题讨论】:

  • Cloudflare 有一个固定的超时时间,无论您在服务器上进行什么更改,您都无法更改,尽管我相信他们的超时时间是 100 秒。绕过它的唯一方法是绕过 Cloudflare,例如使用子域。
  • 即使我关闭了子域的“代理”设置?这是一个“开发”子域,我已经关闭了 Cloudflare 中的“代理”切换。
  • Apache中也有Timeout directive
  • 开发子域的“代理状态”设置为“仅 DNS”。我还将 httpd.conf 中的 Timeout 指令设置为 18000

标签: php apache magento2 fastcgi http-status-code-504


【解决方案1】:

尝试更改 .user.ini.htaccess 文件。搜索memory_limitmax_execution_time

【讨论】:

    【解决方案2】:

    我确实最终弄清楚了这一点。事实证明,一个名为 HAProxy 的负载平衡器必须在端口 443 上侦听 SSL,并且它有自己的配置选项,特别是 Timeout Server,如 here 所述。我在netstat -ltnpthis other question that I asked 的帮助下找到了这个。在我增加了这个选项并重新启动服务后,操作成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-20
      • 2017-12-28
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      相关资源
      最近更新 更多