9

我正在为我的 Django/Python 应用程序使用 AWS Beanstalk,并且我想使用 Google 的 mod_pagespeed 模块。是否可以使用 .ebextensions/.config 文件安装和运行 mod_pagespeed?

4

4 回答 4

6

下载包

将 rpm 添加到您的 ebextensions 目录中

在 .ebextensions 目录中创建一个 .config 文件

将命令添加到配置文件中,如下所示:

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 文件名。

于 2013-04-27T22:30:38.667 回答
3

好的,所以我想添加查理史密斯的答案。我建议您确保已打开以下各项。

  1. mod_deflate - 你可能想要压缩你的 html、css、xml 和 javascript。
  2. 如果您使用 CDN(例如 AWS CloudFront),请在 Apache.conf 中启用重写域过滤器
  3. 为图像和 css 设置一个简短的缓存控制,以便当您打开 extend_cache 过滤器时 pagespeed 将能够扩展缓存。
  4. 我也喜欢 rewrite_javascript、dns_prefetch、collapse_whitespace 和 combine_javascript 过滤器。

以下是 GitHub Gists,向您展示了它是如何完成的。

于 2013-05-10T15:43:34.227 回答
3

多谢你们!在您回答@man2xxl 之后,我得到了很好的效果。

您不必弄乱 /pagespeed/extensions 目录,beantalk .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
于 2014-06-12T20:18:08.340 回答
1

您可以通过 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 文件中的文件条目。

于 2016-08-04T18:36:53.803 回答