«Из коробки» Nginx устанавливается хоть и пригодный к работе, но абсолютно не оптимальный.
Первым делом настроим количество worker_processes.
Их принято выставлять по количеству ядер процессора.
Далее настроим сжатие благодаря gzip
# Собственно включаем gzip, если не включен.
gzip on;
# Указываем минимальный размер сжимаемых элементов.
#ВАЖНО! GooglePageSpeed рекомендует жать все подряд, на деле же сжимать css или js размеров в пару строк - вредно, т.к. на
# их сжатие потратится больше ресурсов сервера, чем на отдачу их в несжатом виде.
gzip_min_length 1000;
# Разрешаем проксирование всех запросов
gzip_proxied any;
# указываем MIME-типы, которые будут обрабатываться с использованием сжатия gzip
gzip_types text/plain application/xml application/x-javascript text/javascript text/css text/json;
# Запрещаем сжатие gzip для IE6, хотя очень надеюсь, что этот вариант браузера уже окончательно канул в Лету. Также использовался ранее gzip_disable "msie6";
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
# Уровень сжатия или gzip компрессии, можете подобрать сами, но большинство рекомендует именно 6
gzip_comp_level 6;
Помимо этого многие, использующие конфигурацию Nginx без изменений, часто сталкиваются с 413 ответом сервера — Request Entity Too Large.
Для избежания этого следует изменить параметр client_max_body_size 32m в секции server.server {
client_max_body_size 32m
}