Подтвердить что ты не робот

Как вы включаете gzip html/javascript/css на amazon beanstalk и tomcat

Я вижу указания о том, как создать новый AMI, но я даже не вижу, где находится tomcat. Текущим ами на момент написания является ami-1a249873 для развертывания tomcat 7

4b9b3361

Ответ 1

Я сам отвечу. Просто так, чтобы все было ясно, вы МОЖЕТЕ подключиться к своим экземплярам EC2, даже если они управляются beanstalk. Это полезно, потому что вы видите, где находятся вещи. В этом случае я не знал, что Apache использовался в качестве веб-сервера для tomcat и должен был его искать, но вы можете найти его здесь как сегодня:

/etc/httpd

Вносить изменения после того, как вы найдете такую ​​информацию:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html

Если вы создаете папку с именем .elasticbeanstalk в корне вашего проекта и затем создаете файл с именем myapp.config.

Настройка Apache:

cp conf/httpd/conf.d/enabledeflate.conf /etc/httpd/conf.d/enabledeflate.conf

Затем создайте файл enabledeflate.conf примерно таким образом:

SetOutputFilter DEFLATE
# mod_deflate configuration
<IfModule mod_deflate.c>
    # Restrict compression to these MIME types
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xml+rss
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE text/css
    <IfModule mod_headers.c>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>

Несколько заметок:
Возможно, вам придется перезапустить apache при первом развертывании.
Убедитесь, что вы положили .elasticbeanstalk в корень вашего файла войны (или git repo)

Ответ 2

Нет лучшего места, чем http://www.tonmoygoswami.com/2013/05/how-to-enable-gzip-on-amazon-elastic.html

для вашего ответа

Вы можете перезагрузить сервер из https://console.aws.amazon.com/elasticbeanstalk/

нажмите на имя приложения, а затем в правом верхнем углу нажмите кнопку раскрывающегося списка действий и перезапустите сервер.

Ответ 3

Добавление к Джеймсу ответа

Более чистый способ - создать файл конфигурации

.ebextensions/wsgi_custom.config

И поместите это там

files:
  "/etc/httpd/conf.d/wsgi_custom.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      WSGIPassAuthorization On

      LoadModule deflate_module modules/mod_deflate.so

      SetOutputFilter DEFLATE

      # mod_deflate configuration
      <IfModule mod_deflate.c>
          # Restrict compression to these MIME types
          AddOutputFilterByType DEFLATE text/plain
          AddOutputFilterByType DEFLATE text/html
          AddOutputFilterByType DEFLATE application/xhtml+xml
          AddOutputFilterByType DEFLATE text/xml
          AddOutputFilterByType DEFLATE application/xml
          AddOutputFilterByType DEFLATE application/xml+rss
          AddOutputFilterByType DEFLATE application/x-javascript
          AddOutputFilterByType DEFLATE text/javascript
          AddOutputFilterByType DEFLATE text/css
          <IfModule mod_headers.c>
              # Make sure proxies don't deliver the wrong content
              Header append Vary User-Agent env=!dont-vary
          </IfModule>
      </IfModule>

Я также добавил WSGIPassAuthorization On, если вам нужно использовать это для django-rest-framework, используя jwt auth