如何修复 AWS Lightsail 服务器上的网关超时?

How to fix Gateway Timeout on AWS Lightsail server?

我在 AWS 上使用 Lightsail 创建了一个 codeigniter 应用程序,它从旧的 magento 数据库查询大量数据,转换成新格式,然后将其推送到我的新数据库。

该应用程序在本地主机下的本地机器上运行良好,但在部署到 AWS 时遇到网关超时错误。我相信这是因为我的本地服务器比我的 AWS 更愿意等待来自另一台服务器的响应。

有什么办法可以解决这个错误吗?或者更确切地说,有什么方法可以增加我的 AWS 愿意等待服务器数据库响应的时间?

我试过了,但没有骰子:

set_time_limit(0);
error_reporting(E_ALL);
ob_implicit_flush(TRUE);
ob_end_flush();

我也试过了,没用:

ini_set('max_execution_time', 0);

两者都被放置在我的模型的构造函数中。如果这些解决方案中的任何一个都有效,那是不是放错代码的地方了?

编辑:我还应该提到这是 Ubuntu 中的 Bitnami 服务器 运行。

为了后代,需要在php-fpm-apache.conf中编辑timeout。这是上线

<Proxy "unix:/opt/bitnami/php/var/run/www.sock|fcgi://www-fpm" timeout=900>

如果您不知道它在哪里,只需使用

sudo find / -iname php-fpm-apache.conf

在控制台中。我的正好位于 /opt/bitnami/apache2/conf/

一定要用

重启apache和php-fpm
sudo /opt/bitnami/ctlscript.sh restart php-fpm
sudo /opt/bitnami/ctlscript.sh restart apache

然后你就可以开始了!

就我而言,我看到我的“剩余 CPU 突发容量”图表变为零。

解决方案(找到 here)是创建一个更大的实例。为此,创建一个快照,然后在快照上 select“创建新实例”,并选择比我使用的更大的大小。

然后,引用自this blog

Once done, go to your static IP and edit it to point to a new instance rather than the old instance.

帮我修好了。