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