Тюнинг nginx: заставляем веб-сервер работать быстрее
Сегодня речь пойдет о небольшой оптимизации веб-сервера nginx. Задача – уменьшить время загрузки веб-странички у клиентов. Решение – небольшой тюнинг конфигов nginx.
Разбираем конфиг nginx. По умолчанию находится в /usr/local/nginx/conf/nginx.conf или в /etc/nginx/nginx.conf 🙂 В моем случае это первый вариант.
Редактируем:
# nano /usr/local/nginx/conf/nginx.conf
Видим конфиг:
# Пользователь, от которого работает nginx
user www-data www-data;
# Кол-во процессов – ставится значение, равное кол-ву ядер в системе
worker_processes 4;# Пишем логи
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;# Кол-во соединений
events {
worker_connections 2048;
}http {
# Подключаем mime
include mime.types;
default_type application/octet-stream;# Запись Access-логов. По желанию. Можно добавлять в вирт. хосты
#access_log logs/access.log main;# Лучше включить – значительно повышает скорость отдачи контента.
sendfile on;# Каждому свое. Для блога на wordpress хорошо подходит параметр, равный 15.
keepalive_timeout 15;# Если мы используем проксирование, то параметры удобнее вывести в отдельный файл:
include /etc/nginx/proxy.conf;# Выключаем версию сервера
server_tokens off;# Подключаем файл с виртуальными хостами
include /etc/nginx/sites-enabled/*;# Параметры сжатия gzip
gzip on;
gzip_buffers 4 8k;
gzip_comp_level 7;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;# Включаем кеширование заголовков
expires max;# Позволяет передавать файл в полных пакетах
tcp_nopush on;
# Разрешает/запрещает tcp_nodelay при переходе в состояние keep_alive
tcp_nodelay on;
}
Пока всё. Отредактируем proxy.conf:
# nano /etc/nginx/proxy.conf
# Переадресация прокси
proxy_redirect off;
# Передаем через прокси внешний IP клиента
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Остальные параметры proxy
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
Recent Comments