Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

NGINX — это популярный бесплатный веб-сервер с открытым исходным кодом. Конфигурации NGINX по умолчанию достаточно хороши для работы веб-сервера.

Однако, если вы хотите использовать NGINX в полной мере, вам нужно поиграть с его конфигурационными файлами и установить параметры, которые оптимизируют производительность сервера. Файлы конфигурации вы найдете в /etc/nginx каталог на машине Linux.

Что такое НГИНКС?

NGINX — это современный веб-сервер, который можно использовать как медиа-стример, почтовый сервер, обратный прокси, балансировщик нагрузки, кеш-сервер и многое другое.

Используемый многими крупными профилями, такими как VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter и т. д., NGINX широко известен своей первоклассной производительностью. Еще одним преимуществом использования NGINX является простота настройки и обучения.

instagram viewer

Предварительные условия для настройки производительности NGINX в Linux

Перед началом настройки NGINX необходимо выполнить следующие требования:

  1. Сервер NGINX, развернутый и настроенный в Linux
  2. Базовое понимание NGINX и его конфигурационных файлов.

Если вы соответствуете этим требованиям, вы готовы настроить NGINX для достижения оптимальной производительности. Давайте посмотрим, как это сделать.

1. Настройка рабочих процессов в NGINX

Архитектура NGINX состоит из одного главного процесса и нескольких рабочих процессов. Работа основного процесса заключается в оценке конфигурации и управлении рабочими процессами. С другой стороны, роль рабочего процесса заключается в обработке входящих запросов и создании соединения между клиентом и сервером.

Значение процесса установлено на авто по умолчанию. Это устанавливает количество рабочих процессов равным количеству доступных ядер ЦП. Чтобы узнать, сколько ядер ЦП присутствует в вашей системе, выполните следующую команду:

процессор grep /proc/cpuinfo | туалет -л

Если вы хотите увеличить количество рабочих процессов, вам необходимо настроить это в файле конфигурации NGINX.

Откройте файл с помощью nano:

нано и т. д./nginx/nginx.conf

Чтобы настроить больше рабочих процессов, измените значение по умолчанию на максимальное количество доступных ядер ЦП в вашей системе.

2. Настройка рабочих соединений

Еще один параметр, который вы можете изменить для повышения производительности NGINX, — это рабочие соединения. Это максимальное количество TCP-подключений, которое может одновременно обрабатывать каждый рабочий процесс.

Большинство систем имеют значение по умолчанию 512 подключений, но многие современные системы также поддерживают большее количество. Вы можете проверить, сколько подключений поддерживает ваша система:

ulimit

На выходе будет максимальное количество поддерживаемых соединений. Затем вы можете изменить worker_connections в файле конфигурации NGINX для повышения производительности.

3. Разрешить сжатие GZIP в NGINX

NGINX использует GZIP для сжатия и распаковки файлов. Если включено в файле конфигурации NGINX, вы можете сэкономить пропускную способность и увеличить время загрузки веб-сайта при медленном соединении.

Чтобы разрешить сжатие GZIP, добавьте следующие строки в файл конфигурации NGINX:

сервер {
gzip включен;
gzip_vary включен;
gzip_min_length 10240;
срок действия gzip_proxyed истек нет-тайникнет-магазинчастный авторизация;
gzip_types текст/обычный текст/текст css/текст xml/приложение javascript/приложение x-javascript/xml;
gzip_disable "MSIE [1-6]\.";
}

4. Ограничить значение тайм-аута в NGINX

Уменьшенные значения времени ожидания также играют важную роль в повышении производительности NGINX. поддержка активности соединения уменьшают нагрузку на процессор и сеть при открытии и закрытии соединений.

Вы можете изменить следующие параметры в файле конфигурации, чтобы ограничить время ожидания:

http
{
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
}

5. Отрегулируйте размер буфера

Вы также можете настроить буферы NGINX для оптимизации производительности сервера. Если размер буфера слишком мал, NGINX будет выполнять запись во временный файл, что приведет к постоянному выполнению огромных операций ввода-вывода.

Для оптимальной работы NGINX необходимо установить следующие параметры буфера:

http
{
client_body_buffer_size 10 КБ;
client_header_buffer_size 1k;
client_max_body_size 8м;
large_client_header_buffers 4 4k;
}

6. Отключить журналы доступа или включить буферизацию журналов доступа

Журналы потребляют большой объем дискового пространства и циклов ЦП/ВВ, что может повлиять на производительность сервера, если он регистрирует каждый запрос.

Вы можете отключить журналы доступа, что сэкономит место на диске и нагрузку ЦП. Чтобы отключить журналы доступа, добавьте следующую строку в файл конфигурации NGINX:

доступ_лог выключен;

Журналы важны, поскольку они помогают в устранении неполадок. Полное отключение журналов не является хорошей практикой. В этом случае вы можете включить буферизацию журналов доступа. Это позволит NGINX буферизовать ряд журналов и одновременно записывать их в файл журнала вместо того, чтобы применять разные операции с журналом для каждого запроса.

Добавьте следующую строку в файл конфигурации NGINX, чтобы разрешить буферизацию журналов доступа:

access_log/var/log/nginx/access.logосновнойбуфер = 16k

7. Настройка периода кэширования статического контента в NGINX

Контент на веб-сайте, который остается неизменным на всех страницах, называется статическим контентом. Кэширование этого контента позволяет размещать его в легкодоступных местах. Этот механизм снижает использование полосы пропускания, обеспечивает быстрый доступ и впоследствии повышает производительность веб-сайта.

Когда клиент запрашивает статический контент, сервер будет обслуживать кешированную версию контента. Добавьте следующие строки в файл виртуального хоста, размещенный в /etc/nginx/sites-available каталог:

расположение ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
истекает через 90 дней;
}

Эта конфигурация будет кэшировать файлы на 90 дней с момента последнего доступа браузера.

8. Включить открытый кэш файлов в NGINX

Вы также можете использовать параметры кэша открытых файлов в файле конфигурации NGINX, чтобы повысить его производительность. Эта директива позволяет кэшировать файловый дескриптор и часто посещаемые файлы на сервере.

Добавьте следующие строки в http раздел в файле конфигурации, чтобы включить кэширование открытых файлов:

http {
open_file_cache макс=1024 неактив=10с;
open_file_cache_valid 60 с;
open_file_cache_min_uses 2;
open_file_cache_errors включен;
}

Получите максимум от NGINX, изменив его файлы конфигурации

Хорошей практикой при изменении конфигурации является работа с одной настройкой за раз и ее тестирование. Если это работает, перейдите к следующему параметру. Если нет, вы всегда можете изменить конфигурацию обратно на значение по умолчанию.

Путем изменения параметров, настроенных в файлах конфигурации NGINX, таких как nginx.conf и файлы виртуального хоста, вы можете взломать NGINX, чтобы добиться наилучшей производительности.