Включить директиву Sendfile в Nginx

Проверка поддержки ядра для Sendfile

Перед реализацией директивы Nginx Sendfile важно убедиться, что ядро ​​вашей системы поддерживает системный вызов sendfile. Хотя эта функция широко доступна, проверка является хорошей практикой.

Выполните следующую команду для проверки поддержки sendfile:

grep SENDFILE /boot/config-$(uname -r)

Положительное подтверждение выглядит так:

CONFIG_SENDFILE=y

Активация Sendfile в NGINX

Чтобы включить функцию Sendfile, откройте файл конфигурации NGINX. Обычно этот файл находится по адресу /etc/nginx/nginx.conf.

Для этой цели используйте текстовый редактор командной строки, например Nano или Vim:

sudo nano /etc/nginx/nginx.conf

В блоке HTTP этого файла найдите директиву sendfile. Если ее нет, добавьте следующую строку:

http {
    sendfile on;
    ...
}

Если sendfileустановлено значение off (sendfile off;), измените его на onили, если оно отсутствует, просто добавьте строку.

Перезапуск NGINX для применения изменений

После настройки важно проверить конфигурацию NGINX на наличие ошибок. Используйте эту команду для проверки конфигурации:

sudo nginx -t

Ожидаемый результат должен подтвердить успешную проверку:

nginx: configuration file /etc/nginx/nginx.conf test is successful

Чтобы применить изменения, перезапустите сервер NGINX. В зависимости от вашей системы используйте одну из следующих команд:

sudo systemctl restart nginx

или

sudo service nginx restart

Вот так!