如何使用 Magento、Apache、PHP-FPM 和 Varnish 解决 504 超时错误?

How can I troubleshoot a 504 timeout error using Magento, Apache, PHP-FPM, and Varnish?

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

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

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

我怎样才能开始解决这个问题并允许进程 运行 只要它需要?

尝试在 .user.ini.htaccess 文件中进行更改。搜索 memory_limitmax_execution_time

我终于弄明白了。事实证明,一个名为 HAProxy 的负载平衡器必须在端口 443 上侦听 SSL,并且它有自己的配置选项,特别是 Timeout Server,如 here. I found this with netstat -ltnp and with the help of this other question that I asked 所述。我增加这个选项并重启服务后,运行正常。