Настройки nginx

Чем лучше настроена система, тем быстрее она работает...

 

Настройки nginx

обычно это файл: /etc/nginx/nginx.conf (или другие можно посмотреть тут - основные директории nginx)

 

worker_processes - количества рабочих процессов (выставлять можно равным числу ядер процессора), но лучше ставить в значение "auto"

worker_connections - максимальное количество процессов для одного рабочего процессора worker_processes

 

Обычно тут так:

worker_processes        auto;

# Worker config
events {
    worker_connections 1024;
    use epoll;
    multi_accept on;
}

 

multi_accept - чтобы сервер принимал максимально возможное количество соединений. Иначе, процесс nginx за один раз будет принимать только 1 новое соединение. По умолчанию off.

 

keepalive_timeout - параметр определяет максимальное время поддержания keepalive-соединения, в случае, если пользователь по нему ничего не запрашивает. Часто тут значения от 30 до 50.

 

reset_timedout_connection - если клиент перестал читать страницу, сервер будет разрывать соединение с ним. По умолчанию off. 

 

Пример из панели hestia

http {
    # Main settings
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    client_header_timeout 180s;
    client_body_timeout 180s;
    client_header_buffer_size 2k;
    client_body_buffer_size 256k;
    client_max_body_size 256m;
    large_client_header_buffers 4 8k;
    send_timeout 60s;
    keepalive_timeout 30s;
    keepalive_requests 100000;
    reset_timedout_connection on;
    server_tokens off;
    server_name_in_redirect off;
    server_names_hash_max_size 512;
    server_names_hash_bucket_size 512;
    charset utf-8;

 

client_header_timeout - время для чтения заголовка запроса клиента. Если клиент не передает весь заголовок в течение этого времени, запрос завершается с ошибкой 408 (Request Time-out). Как видим выше у hestia = 180 секунд.

 

client_body_timeout - ожидание данного количества секунд тело запроса от клиента, после чего идет сброс соединения. Данное время задается только для периода между двумя последовательными операциями чтения, а не для передачи всего тела запроса. Если клиент за это время ничего не передает, запрос завершается с ошибкой 408 (Request Time-out). По умолчанию 60, как видим выше у hestia = 180 секунд.

 

send_timeout - Nginx подождет выставленное количество секунд и сбросит соединение. По умолчанию 60.

 

client_body_buffer_size - определяет размер тела запроса от клиента, если будет больше, то записывает во временный файл.

client_header_buffer_size - определяет размер буфера заголовка клиентского запроса.

client_max_body_size - определяет максимально допустимый размер тела запроса клиента, который указывается в поле заголовка запроса "Content-Length". В случае превышения, клиенту возвращается ошибка 413 (Request Entity Too Large).

large_client_header_buffers - определяет 2 параметра: максимальное количество и размер буферов для больших клиентских заголовков. Строка запроса не может превышать размер одного буфера, так как в этом случае клиенту будет возвращаться ошибка 414 (Request-URI Too Large).

 

Сжатие

про это уже писали - gzip сжатие настройка nginx

 

 

 

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Сисадмин Nginx Настройки nginx