Я выполняю Debian и Apache/2.2.22, у меня есть gzip, включенный, и я хотел бы знать, каков мой уровень сжатия и как изменить его. Я знаю, что это может быть достигнуто, редактируя php.ini, но я хотел бы настроить его в апаче. Как это может быть сделано?
С помощью Iain я выяснил, что есть mod_deflate и я должен добавить уровень deflatecompression в /etc/apache2/mods-available/deflate.conf
После изменения мой deflate. conf выглядел следующим образом:
<IfModule mod_deflate.c>
# these are known to be safe with MSIE 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml
# everything else may cause problems with MSIE 6
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript application/javascript application$
AddOutputFilterByType DEFLATE application/rss+xml
DeflateCompressionLevel 9
</IfModule>
Вы можете настроить уровень сжатия, просто добавив DeflateCompressionLevel.
DeflateCompressionLevel 9
Эта строка кода может варьироваться от 1 до 9, 9 - наилучший метод сжатия. По умолчанию используется 9, и редко возникает необходимость указывать уровень компрессии, если только ваш процессор не загружен из-за высокой загрузки сайта.
.Хотите верьте, хотите нет, но в документации по mod_deflate есть эта информация. В частности, директива DeflateCompressionLevel является вашим другом. Вы можете установить уровень между 1 (низкий) и 9 (высокий). В документации также сказано, что по умолчанию используется уровень сжатия zlib по умолчанию.
В документации zlib сказано, что уровень сжатия по умолчанию 6.
.В качестве дополнения к принятый ответ, вы также можете использовать директиву apache filesMatch, чтобы сжимать все ответы, а не сжимать их по типу:
<filesMatch "\.*$">
SetOutputFilter DEFLATE
</filesMatch>
DeflateCompressionLevel 7 # I prefer to use 7 for less CPU consumption on traffics
DeflateMemLevel 9
DeflateWindowSize 15