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

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

3 ответа

Я сам отвечу. Просто так, чтобы все было ясно, вы МОЖЕТЕ подключиться к своим экземплярам 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)


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

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

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

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


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

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

.************/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

licensed under cc by-sa 3.0 with attribution.