Эластичный бобовый стебель Python & Django - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь включить gzip сжатие для Python 2.7 & Django 1.11 с Apache 2.4.39 (Amazon).

Я успешно включил gzip сжатие при создании приложения Elastic Beanstalk php 7.2.

Я поместил файл .htaccess в /etc/httpd/conf.d и назвал его compression.conf

Я перезапустил Apache

$ sudo service httpd restart

Моя test.html страница использовала локальные файлы js и css, которые теперь были сжаты с помощью gzip .

Файл взят из секции сжатияиз html5 шаблон.

Однако мне не удалось с Elastic Beanstalk, Python 2.7 и Django 1.11.

Я поместил файл здесь /etc/httpd/conf.d/compression.conf перезапустил Apache

Локальные файлы css и js не сжимаются.

В /var/log/httpd/error_log

нет соответствующих ошибок. Любые предложения приветствуются.

================================

оба файла в .ebextensions

из файла html5boilerplate .htaccess

<----------------- start enable_mod_deflate.conf ------------------------->

# ----------------------------------------------------------------------
# | Compression                                                        |
# ----------------------------------------------------------------------

<IfModule mod_deflate.c>

    # Force compression for mangled `Accept-Encoding` request headers
    #
    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding
    # https://calendar.perfplanet.com/2010/pushing-beyond-gzipping/

    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    # Compress all output labeled with one of the following media types.
    #
    # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype

    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE "application/atom+xml" \
                                      "application/javascript" \
                                      "application/json" \
                                      "application/ld+json" \
                                      "application/manifest+json" \
                                      "application/rdf+xml" \
                                      "application/rss+xml" \
                                      "application/schema+json" \
                                      "application/geo+json" \
                                      "application/vnd.ms-fontobject" \
                                      "application/wasm" \
                                      "application/x-font-ttf" \
                                      "application/x-javascript" \
                                      "application/x-web-app-manifest+json" \
                                      "application/xhtml+xml" \
                                      "application/xml" \
                                      "font/eot" \
                                      "font/opentype" \
                                      "font/otf" \
                                      "image/bmp" \
                                      "image/svg+xml" \
                                      "image/vnd.microsoft.icon" \
                                      "text/cache-manifest" \
                                      "text/calendar" \
                                      "text/css" \
                                      "text/html" \
                                      "text/javascript" \
                                      "text/plain" \
                                      "text/markdown" \
                                      "text/vcard" \
                                      "text/vnd.rim.location.xloc" \
                                      "text/vtt" \
                                      "text/x-component" \
                                      "text/x-cross-domain-policy" \
                                      "text/xml"

    </IfModule>

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    # Map the following filename extensions to the specified
    # encoding type in order to make Apache serve the file types
    # with the appropriate `Content-Encoding` response header
    # (do note that this will NOT make Apache compress them!).
    #
    # If these files types would be served without an appropriate
    # `Content-Enable` response header, client applications (e.g.:
    # browsers) wouldn't know that they first need to uncompress
    # the response, and thus, wouldn't be able to understand the
    # content.
    #
    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
    # https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding

    <IfModule mod_mime.c>
        AddEncoding gzip              svgz
    </IfModule>

</IfModule>
 <--------------------------enable_mod_deflate.conf  ------------------------------>

<---------------------- myapp.config ------------------------------------->
 container_commands:
  01_setup_apache:
    command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"

<---------------------- end myapp.config ------------------------------------->    

На основе: http://www.tonmoygoswami.com/2013/05/how-to-enable-gzip-on-amazon-elastic.html

1 Ответ

1 голос
/ 24 июня 2019

Лучший способ сделать это - создать файл в каталоге .ebextensions.
Используйте эту папку для настройки всех файлов, которые будут запускаться при каждом запуске вашего компьютера.
Таким образом, вам не нужно обращаться к машине и изменять конфигурацию вручную.

Создать файл .ebextensions/gzip.config как это:

files:
  "/etc/httpd/conf.d/enable_mod_deflate.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      <IfModule mod_deflate.c>
        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
        AddOutputFilterByType DEFLATE image/png
        AddOutputFilterByType DEFLATE image/gif
        AddOutputFilterByType DEFLATE image/jpeg

        DeflateCompressionLevel 9 # Highest level
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
        <IfModule mod_headers.c>
          Header append Vary User-Agent env=!dont-vary
        </IfModule>
      </IfModule>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...