是否可以使用AWS Beanstalk';要安装mod_pagespeed Apache模块吗?
我在Django/Python应用程序中使用AWS Beanstalk,我想使用Google的mod_pagespeed模块。是否可以使用.ebextensions/.config文件安装并运行mod_pagespeed?下载该软件包 将rpm添加到您的ebextensions目录中 在.ebextensions目录中创建.config文件 向配置文件中添加如下命令:是否可以使用AWS Beanstalk';要安装mod_pagespeed Apache模块吗?,apache,amazon-web-services,amazon-elastic-beanstalk,mod-pagespeed,Apache,Amazon Web Services,Amazon Elastic Beanstalk,Mod Pagespeed,我在Django/Python应用程序中使用AWS Beanstalk,我想使用Google的mod_pagespeed模块。是否可以使用.ebextensions/.config文件安装并运行mod_pagespeed?下载该软件包 将rpm添加到您的ebextensions目录中 在.ebextensions目录中创建.config文件 向配置文件中添加如下命令: container_commands: 01-command: command: rm -
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
确保命令如图所示缩进,没有制表符,否则将无法工作
将“mod pagespeed.rpm”替换为实际的rpm文件名。好的,我想添加Charlie Smith的答案。我建议您确保打开了以下各项
- (它们与查理的基本相同)
- 谢谢大家!根据您的回答@man2xxl,我发现它工作得很好
不过,您不必弄乱/pagespeed/extensions目录,beanstalk.ebextensions配置可以是:
packages:
yum:
at: []
10_setup_apache_for_mod_pagespeed:
command: "cp enable_mod_pagespeed.conf /etc/httpd/conf.d"
20_install_mod_pagespeed:
command: rpm -U -iv --replacepkgs mod-pagespeed-*.rpm
30_clear_mod_pagespeed_cache:
command: touch /var/cache/mod_pagespeed/cache.flush
您可以通过URL安装软件包。因此,您不必下载和分发RPM。类似这样的工作原理:
packages:
rpm:
pagespeed: https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
files:
"/etc/httpd/conf.d/zzzz-pagespeed-options.conf":
mode: "00644"
owner: root
group: root
encoding: plain
content: |
# put your pagespeed configuration here
注意,我将文件命名为zzzz-pagespeed-options.conf,以便httpd服务器最后加载它
这样做的另一个优点是,您真的不需要包含任何命令,也不需要担心复制文件
并维护.ebextensions文件夹中的文件。您只需更新.config文件中的files条目。这能确保它也被启用吗?rpm会为您安装.conf文件,如果您发现需要重新启动apache,请在.config文件中添加另一个命令“apachectl restart”,我建议将命令重写到bash脚本中,因为container_命令可以在部署时随时运行。Bash脚本可以检查它是否首次运行,然后安装必要的更改。这将有助于减少部署过程中的停机时间。@Vadim911您的说法似乎自相矛盾——“部署”只是第一次;这就是beanstalk在自动伸缩行为中使用的内容,因此.ebextensions最常在初始部署之外使用。你能澄清一下你的帖子吗?在我看来,man2xxl的目标是正确的。@Ricalsin当我说“部署”时,我的意思是当您将带有.ebextensions的捆绑包和应用程序部署到beanstalk时的过程。这假设您的repo根目录中包含mod_pagespeed rpm。