ответ

5

Скачать пакет

Добавить обороты в каталог ebextensions

создать файл .config в каталоге .ebextensions

добавить команды в файл конфигурации, как это:

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 

Убедитесь, что команды имеют отступ, как показано на рисунке, без вкладок, иначе он не будет работать.

swap «mod-pagespeed.rpm» для любого фактического имени файла rpm.

+1

Будет ли это гарантировать, что он включен? – man2xxl

+0

rpm устанавливает файлы .conf для вас, если вы обнаружите, что вам нужно перезапустить apache, добавьте еще одну команду в.config файл для «apachectl restart» –

+0

Я бы предложил переписать команды сценарию bash, потому что container_commands запускается в любое время, когда вы развертываете. Сценарий Bash может проверить, запускается ли он в первый раз, а затем устанавливаются необходимые изменения. Это поможет вам сократить время простоя во время развертывания. –

3

Хорошо, поэтому я хочу добавить ответ Чарли Смита. Я предлагаю вам убедиться, что вы включили следующее.

  1. mod_deflate - Возможно, вы захотите Gzip html, css, xml и javascript.
  2. Включить фильтр перезаписи доменов в Apache.conf, если вы используете CDN (напр. AWS CloudFront)
  3. Установите короткий кэш-контроль для изображений и CSS, так PageSpeed ​​будет иметь возможность расширить кэш при включении фильтр extend_cache.
  4. Мне также нравятся фильтры rewrite_javascript, dns_prefetch, collapse_whitespace и comb_javascript.

Вот GitHub Gists, которые показывают вам, как это делается.

3

Спасибо, ребята! Я получил работу отлично после вашего ответа @ man2xxl.

Вам не придется возиться с каталогом/PageSpeed ​​/ расширений, хотя, 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 
+1

Предполагается, что у вас есть mod_pagespeed rpm, включенный в корень вашего репо. – colllin

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.