Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services aws弹性beanstalk上的nginx扩展_Amazon Web Services_Nginx_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services aws弹性beanstalk上的nginx扩展

Amazon web services aws弹性beanstalk上的nginx扩展,amazon-web-services,nginx,amazon-elastic-beanstalk,Amazon Web Services,Nginx,Amazon Elastic Beanstalk,我想在elastic beanstalk应用程序上使用类似的东西,但是如何在elastic beanstalk上添加/配置nginx呢?我不久前做了一个项目,在elastic beanstalk上进行了动态图像大小调整。我选择在Node.js应用程序中实现这一点,以获得libvips的速度和灵活性。它最终成功了,但在Beanstalk上这样做肯定是一场艰苦的战斗 我们遇到的第一个问题是在系统上安装库。我们需要imagemagick和libvips。.ebextensions中的脚本设置工作正常,

我想在elastic beanstalk应用程序上使用类似的东西,但是如何在elastic beanstalk上添加/配置nginx呢?我不久前做了一个项目,在elastic beanstalk上进行了动态图像大小调整。我选择在Node.js应用程序中实现这一点,以获得libvips的速度和灵活性。它最终成功了,但在Beanstalk上这样做肯定是一场艰苦的战斗

我们遇到的第一个问题是在系统上安装库。我们需要imagemagick和libvips。
.ebextensions
中的脚本设置工作正常,但您无法控制这些脚本何时与应用程序相关地运行。在我们的例子中,我们需要在运行
npm install
之前安装库。Beanstalk不是这样工作的,所以我们必须在
package.json
中使用
devdependency
进行一些真正的黑客操作,然后在
.ebextensions
脚本的末尾自己安装它们。对于您来说,我想这是如何在内置Nginx实例上安装任何东西的第一部分。但是,您必须首先停止Nginx,因为它可能已经在运行了

接下来,Beanstalk喜欢吹走您所有的Nginx配置。更具体地说,它尝试将您的Nginx配置与Amazon想要的内容合并。我怀疑这是真正会咬你的部分。在尝试添加一些缓存扩展时,我们最终放弃了这一点。它从来都不起作用,即使我们在适当的地方进行了黑客攻击,但一旦亚马逊后来改变了某些东西,它很可能就会失败。您可以使用
.ebextensions
脚本将Nginx配置放在适当的位置,但一旦完成,Amazon就会有一些脚本重写配置

我想说的是,你也许可以破解它,但这不是你想做的事情。弹性豆茎适合它的用途,基本上没有其他用途。它也没有像广告宣传的那样有效,它绝不是一个灵活的系统。它似乎是由盒子上的一堆脚本拼凑而成的,当按预期使用时,这些脚本可以完成它们的工作,但弄乱它们并不是一个好主意,因为亚马逊可以随时改变它们的工作方式

一种可能性是使用Docker。如果我再做一次这个项目,我会从一开始就从Docker开始,因为理论上你可以使用你想要的任何东西。Beanstalk可以托管Docker应用程序,其工作方式与普通Beanstalk应用程序不同


祝这个项目好运

事实证明,弹性Beanstalk上的nginx是使用http_image_过滤器编译的。 因此,基本上就是将nginx配置放入beanstalk自己的nginx配置中。是的,布拉德,这有点像是胡说八道。但也不算太糟

你可以看到我的解决方案。基本上这是一个python脚本,我从中修改了它