Да, хорошее замечание.
Включение сжатия gzip браузерных файлов должно значительно повысить скорость первичной загрузки страниц новыми посетителями.
Новым клиентам стандартных серверов эту инструкцию выполнять не надо, потому что эти настроки теперь будут стандартными.
Шаг 1
Подключитесь к веб-серверу по протоколу SFTP от лица пользователя
root и заметите файл
/usr/local/nginx/conf/nginx.conf следующим содержимым:
nginx.conf (1.62К)
Количество загрузок:: 788
user www-data;
worker_processes 4;
error_log logs/error.log error;
events {worker_connections 1024;}
http {
include mime.types;
default_type application/octet-stream;
access_log off;
sendfile on;
keepalive_timeout 10;
send_timeout 3600;
proxy_read_timeout 3600;
fastcgi_read_timeout 3600;
fastcgi_connect_timeout 3600;
# Для предотвращения сбоя при оплате через PayPal:
# «upstream sent too big header while reading response header from upstream»
# "GET /store/paypal/express/return/?token=<...>&PayerID=<...>
# http://stackoverflow.com/a/23845727
fastcgi_buffer_size 32k;
# Этот параметр тоже нужен, иначе будет сбой:
# «"fastcgi_busy_buffers_size" must be less than
# the size of all "fastcgi_buffers" minus one buffer»
fastcgi_buffers 16 16k;
# 2015-08-18
# http://nginx.org/en/docs/http/ngx_http_gzip_module.html
# http://magento-forum.ru/topic/5187/
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
# 2015-08-18
# Отключаем сжатие проксируемых ответов:
# пусть их сжимает сервер, который формирует эти ответы.
gzip_proxied off;
# По-умолчанию включено сжатие только ответов типа text/html
# http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_types
# Поэтому добавляем другие типы их перечислением.
# http://stackoverflow.com/a/12644530
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/xml+rss;
client_max_body_size 64m;
include sites/*.conf;
}
Шаг 2
Подключитесь к веб-серверу по протоколу SSH от лица пользователя
root и перезапустите веб-сервер nginx:
service nginx restart
Шаг 3
Учитывая, что HTML, как и другие браузерные файлы, сжимается веб-сервером Nginx, стоит отключить аналогичную функцию сжатия в PHP
zlib.output_compression, чтобы не сжимать 2 раза одно и то же и не расходовать тем самым ресурсы процессора.
Для этого надо открыть (по протоколу SFTP) серверный файл
/etc/php5/fpm/php.ini, посмотреть, присутствует ли там строка
zlib.output_compression, и удалить эту строку, если она присутствует.
После успшеного редактирования php.ini надо перезапустить PHP (по протоколу SSH с правами root, аналогично Nginx):
service php5-fpm restart