在添加的每个实例上在弹性 beantalk 上安装 google mod-pagespeed

Posted

技术标签:

【中文标题】在添加的每个实例上在弹性 beantalk 上安装 google mod-pagespeed【英文标题】:Install google mod- pagespeed on elastic beanstalk on every instance added 【发布时间】:2015-08-19 04:43:00 【问题描述】:

我已经使用以下代码安装了 google mod-pagespeed:

container_commands:
01-command:
    command:        rm -rf /pagespeed/ebextensions

02-command:
    command:        mkdir -p /pagespeed/ebextensions

03-command:
    command:        cp -R .ebextensions/* /pagespeed/ebextensions/

04-command:
    command:         rpm -U /pagespeed/ebextensions/mod-pagespeed.rpm

感谢这个答案Is it possible to use AWS Beanstalk's .ebextensions config to install mod_pagespeed Apache module?

问题是 apache 在我每次部署时都在运行这些命令,并且从第二次开始出错(因为已经安装了 mod-pagespeed),所以我不得不删除这些命令,但是当添加了新实例时,它产生了很多错误,因为只有 1 台机器具有 mod-pagespeed。 (不推荐!)

我需要上传在每个新实例上安装 mod-pagespeed 的代码,并且每次部署新应用程序时都不会出错。有什么想法吗?

【问题讨论】:

【参考方案1】:

你能让你的命令幂等吗?可以将所有命令保存在脚本中,然后通过容器命令在实例上运行脚本。该脚本可以在最后创建一个锁定文件,以便该脚本在随后的运行中不做任何事情。那应该可以解决您的问题。

【讨论】:

以上是关于在添加的每个实例上在弹性 beantalk 上安装 google mod-pagespeed的主要内容,如果未能解决你的问题,请参考以下文章

使用 ebextensions 配置在弹性 beantalk 上安装 ffmpeg

在弹性 beantalk 部署上的 ec2 微型实例上创建交换文件/驱动器

如何在 ec2 实例上运行元数据库(没有弹性 beantalk)

如何修复弹性beantalk实例上的“使用这些代码失败的健康检查:”?

如何在同一个弹性beantalk实例上运行socket.io和表达?

尝试使用弹性 beantalk 安装 libjpeg-devel 时出错