Как проверить работает ли nginx ubuntu

Обновлено: 04.07.2024

Интерпретатор языка программирования PHP может работать в нескольких режимах. Он может быть интегрирован в веб-сервер в виде специального модуля или использоваться как отдельный сервис PHP-FPM. Аббревиатура FPM расшифровывается как FastCGI Process Manager. Это сервис, который запускает несколько процессов, которые могут выполнять PHP скрипты.

PHP-FPM может получать скрипты, которые надо выполнить, с помощью TCP или Unix сокетов. Именно такой способ выполнения скриптов используется в Nginx. В этой статье мы рассмотрим как выполняется установка Nginx с PHP-FPM в Ubuntu.

Установка Nginx на Ubuntu 20.04

Установить Nginx можно двумя способами. Первый способ заключается в установки пакета из официального репозитория Ubuntu. На момент написания статьи (1 августа 2021 года) актуальной версией Nginx присутствующей в репозитории Ubuntu была версия 1.18.0. Данная версия считается устаревшей. Актуальной же версией считается 1.20.1 (по состоянию на 1 августа 2021 года).

1. Официальные репозитории Ubuntu

Если вы хотите установить версию Nginx из репозиториев Ubuntu необходимо выполнить следующие действия. Для начала обновляем списки пакетов при помощи команды:

sudo apt update

Для того, чтобы установить Nginx, достаточно выполнить команду:

sudo apt -y install nginx

H6AxliGLm+DAAAAAAElFTkSuQmCC

После этого программу можно использовать. Проверка и настройка программы будет описана в разделах ниже.

2. Официальные репозитории Nginx

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

sudo apt update

Установите необходимые пакеты:

sudo apt -y install curl gnupg2 ca-certificates lsb-release

xD3plpLQbMoAAAAASUVORK5CYII=

Далее у вас на выбор есть два пути – подключить репозиторий со стабильной версией nginx или подключить репозиторий с основной версией. Стабильная версия является более проверенной и работоспособной. Эту версию можно использовать, как и в тестовых средах так и на производственных. Основная версия не такая стабильная и может содержать ошибки. Данную версию не рекомендуется использовать в производственных средах.

Для подключения репозитория со стабильной версией nginx, выполните следующую команду:

echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Для подключения репозитория с основной версией nginx, выполните следующую команду:

echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

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

f+vwD6Zz6Okg6KFAAAAABJRU5ErkJggg==

Проверьте, верный ли ключ был загружен:

gpg --dry-run --quiet --import --import-options import-show /tmp/nginx_signing.key

Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62:

u4hGuUeZYzcCT6UUoZTmyfgDUTLZvOwL3TwAAAABJRU5ErkJggg==

Переместите ключ в каталог доверенных ключей apt:

sudo mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc

Чтобы установить nginx, выполните следующие команды:

sudo apt update

sudo apt -y install nginx

Версия Nginx от разработчиков немного отличается от версии из официальных репозиториев. Все дополнительные конфигурационные файлы здесь находятся в папке /etc/nginx/conf.d. Если вы хотите использовать папки sites-available и sites-enabled, то необходимо их создать:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

sudo vi /etc/nginx/nginx.conf

Затем перезапустите Nginx:

sudo nginx -s reload

3. Запуск Nginx

После установки пакета, проверяем что Nginx успешно запустился при помощи команды:

sudo systemctl status nginx

XvohZ4mPkk61tGeoX4Sw31vVI9lOlztfmiIba0O0QJ9ZkmUf07f5v7dbEtSWx+eyAAAAAElFTkSuQmCC

Если в статусе вместо active будет inactive (dead), то сервис необходимо запустить вручную при помощи команды:

sudo systemctl start nginx

Так же обратите внимание, что вы не можете запускать Apache и Nginx на одном порту. В таком случае вы получите ошибку nginx address already in use 80. Для корректной работы Nginx, необходимо будет отключить веб-сервер Apache (если он у вас используется) или изменить его порт с 80 (который используется по умолчанию) на другой свободный порт.

4. Настройка брандмауэра

По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:

sudo ufw allow in 80/tcp

5. Проверка работы Nginx

После того, как Nginx будет запущен, он будет доступен по адресу сервера, на который он устанавливался. Вы можете проверить, всё ли работает, просто перейдя по адресу сервера, введя его в браузере. Для примера Nginx был установлен на localhost:

QGrObwHIDw4AAAAASUVORK5CYII=

Установка PHP-FPM в Ubuntu

Следующим шагом будет установка интерпретатора языка программирования PHP и всех необходимых модулей для работы с PHP-FPM. Для установки всех необходимых модулей выполните команду:

sudo apt -y install php7.4 php7.4-cli php7.4-fpm php7.4-json php7.4-pdo php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php-pear php7.4-bcmath

wN+GHKJ7xn5MAAAAABJRU5ErkJggg==

На момент написания статьи (1 августа 2021) актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 (по состоянию на 29 июля 2021 года). После установки всех необходимых пакетов проверяем статус PHP-FPM:

systemctl status php7.4-fpm.service

Q2PdwAAAABJRU5ErkJggg==

Если в статусе вместо active будет inactive (dead), то сервис необходимо запустить вручную при помощи команды:

sudo systemctl start php7.4-fpm.service

После того, как сервис запустился, установка будет считаться выполненной.

Подключение Nginx к PHP-FPM

Чтобы принимать запросы FastCGI от Nginx, PHP-FPM может прослушивать сокет TCP/IP или UNIX сокет. Сокеты UNIX являются средством межпроцессного взаимодействия, которое обеспечивает эффективный обмен данными между процессами, работающими в одной и той же операционной системе, в то время как сокеты TCP/IP позволяют процессам обмениваться данными по сети.

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

Таким образом, сокет UNIX является безопасным, поскольку его могут использовать только процессы на локальном хосте. Сокет TCP/IP может быть доступен из Интернета, и это может представлять угрозу безопасности, если не будут приняты дополнительные меры безопасности, такие как настройка брандмауэра.

Настройка PHP-FPM для прослушивания на сокете UNIX

Чтобы настроить PHP-FPM на прослушивание сокета UNIX, откройте файл конфигурации пула PHP-FPM по умолчанию, используя свой любимый текстовый редактор при помощи команды:

Затем найдите директиву listen и задайте для нее путь к файлу сокета UNIX следующим образом - listen = /run/php/php7.4-fpm.sock

AT54R1KQtyVRAAAAAElFTkSuQmCC

Если вы используете сокет UNIX, вам также необходимо установить соответствующие разрешения на чтение/запись для файла, чтобы разрешить подключения с веб-сервера NGINX. По умолчанию Nginx работает как пользователь www-data в Ubuntu.

Найдите параметры listen.owner и listen.group и задайте им значение www-data. Также установите режим на 0660, для параметра listen.mode.

AMeHmlCV5NG0AAAAAElFTkSuQmCC

Настройка PHP-FPM для прослушивания через сокет TCP/IP

Хотя сокет UNIX быстрее сокета TCP/IP, он менее масштабируем, поскольку он может поддерживать межпроцессное взаимодействие только в одной и той же ОС. Если Nginx и внутренний сервер приложений (PHP-FPM) работают в разных системах, вам придется настроить php-fpm для прослушивания сокетов TCP/IP для удаленного подключения.

В файле конфигурации пула php-fpm установите адрес прослушивания, например: 127.0.0.1:9000. Убедитесь, что выбранный вами порт не используется другим процессом или службой в той же системе.

Найдите параметр listen и пропишите адрес - 127.0.0.1:9000:

3r2fP55BJ5H4HkEnkfgeQSeR+B5BJ5H4Fc+Av8Fi17RJN3EipsAAAAASUVORK5CYII=

Сохраните изменения и закройте файл. Установка Nginx php fpm практически завершена.

Настройка Nginx для работы php-fpm

После того, как вы настроили адрес, который прослушивает PHP-FPM, вам нужно настроить Nginx для запроса прокси к нему через этот адрес, используя параметр конфигурации fastcgi_pass, который располагается в файле конфигурации блока виртуального хоста.

Для примера, возьмем файл конфигурации стандартной странички сайта nginx которая открывается при первом запуске nginx, расположенный по следующему пути - /etc/nginx/conf.d/default.conf, откроем его для редактирования:

sudo nano /etc/nginx/conf.d/default.conf

Если вы настроили PHP-FPM для прослушивания на сокете UNIX, найдите блок местоположения для обработки файлов .php и установите следующие параметры для fastcgi:

\.php$ fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
>

PPm8T9sFCqphhXPYAAAAABJRU5ErkJggg==

Если используется TCP/IP сокет, замените значение в параметре fastcgi_pass на IP-адрес и порт сервера, на котором работает PHP-FPM FastCGI:

\.php$ fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
>

77uuHX+3wdga8j8HUEvo7A1xH4OgJfR+DrCHwdgS+PwL8F+DKOof+b0GoAAAAASUVORK5CYII=

После внесения изменений в конфигурации Nginx проверьте правильность синтаксиса при помощи команды:

AL7jOSWckFOtAAAAAElFTkSuQmCC

Далее вам необходимо перезапустить службы, чтобы применить изменения, используя для этого команды:

sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm

После перезапуска служб, подключение считается выполненным успешно. Можно создать файл index.php со следующим содержимым:

sudo vi /var/www/html


Для дальнейшей настройки PHP-FPM воспользуйтесь статьей по настройке PHP-FPM на Ubuntu 20.04 – Настройка PHP-FPM

Удаление Nginx и PHP-FPM с Ubuntu

Чтобы полностью удалить Nginx и PHP-FPM из системы, достаточно удалить все пакеты, которые вы установили ранее:

sudo apt -y purge nginx php7.4 php7.4-cli php7.4-fpm php7.4-json php7.4-pdo php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php-pear php7.4-bcmath

Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.

Выводы

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Если вы разработчик или системный администратор, скорее всего, вы имеете дело с Nginx на регулярной основе.

В этом руководстве мы рассмотрим наиболее важные и часто используемые команды Nginx, включая запуск, остановку и перезапуск Nginx.

Подготовка

Мы предполагаем, что вы вошли в систему как root или пользователь с привилегиями sudo. Команды в этом g должны работать в любом современном дистрибутиве Linux, таком как Ubuntu 18.04, CentOS 8 и Debian 10 .

Запуск Nginx

Запустить Nginx довольно просто. Просто запустите следующую команду:

В случае успеха команда не производит никакого вывода.

Если вы используете дистрибутив Linux без systemd, для запуска Nginx введите:

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

Остановка Nginx

Остановка Nginx быстро завершает все рабочие процессы Nginx, даже если есть открытые соединения.

Чтобы остановить Nginx, выполните одну из следующих команд:

Перезапуск Nginx

Используйте одну из следующих команд для перезапуска Nginx :

Это команда, которую вы, вероятно, будете использовать наиболее часто.

Перезагрузка Nginx

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

Команда reload загружает новую конфигурацию, запускает новые рабочие процессы с новой конфигурацией и корректно завершает работу старых рабочих процессов.

Чтобы перезагрузить Nginx, используйте одну из следующих команд:

Тестирование конфигурации Nginx

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

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

Результат будет выглядеть следующим образом:

Просмотр статуса Nginx

Чтобы проверить статус службы Nginx, используйте следующую команду:

Результат будет выглядеть примерно так:

Проверка версии Nginx

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

Вы можете проверить свою версию Nginx, запустив:

Параметр -V отображает версию Nginx вместе с параметром настройки.

Выводы

В этом руководстве мы показали вам некоторые из наиболее важных команд Nginx. Если вы хотите узнать больше о параметрах командной строки Nginx, посетите документацию Nginx .

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

Как используется и работает nginx

Как проверить, установлен ли NGINX

Пишете в консоль SSH следующую команду, она покажет версию NGINX

Если видите что-то навроде
nginx version: nginx/1.10.3
Значит, всё в порядке, установлен NGINX версии 1.10.3 . Если нет, установим его.

Как установить NGINX

Если вы сидите не под root , предваряйте команды apt-get префиксом sudo , например sudo apt-get install nginx

  1. Обновляем порты (не обязательно)
  2. Установка NGINX
  3. Проверим, установлен ли NGINX

Команда должна показать версию сервера, что-то подобное:
nginx version: nginx/1.10.3

Где расположен nginx

По умолчанию, файлы конфигураций конкретных сайтов располагаются в /etc/nginx/sites-enabled/

или в /etc/nginx/vhosts/

Как правильно составить правила nginx.conf

Идём изучать мануалы на официальный сайт.
Пример рабочей конфигурации NGINX в роли кеширующего проксирующего сервера с Apache в бекенде

А вот вариант для PHP-FPM:

NGINX WordPress Multisite

Ниже конфигурация под WordPress Multisite с сайтами в поддиректориях:

Как заблокировать по IP в NGINX

Блокировать можно с помощью директив allow и deny.

Правила обработки таковы, что поиск идёт сверху вниз. Если IP совпадает с одним из правил, поиск прекращается.
Таким образом, вы можете как забанить все IP, кроме своих, так и заблокировать определённый IP:

Приведу пример конфигурации, как можно закрыть доступ к панели администратора WordPress по IP:

Ещё один неплохой вариант. Правда, по умолчанию определяются только статичные IP. А чтобы разрешить подсеть, придётся использовать дополнительный модуль GEO:

Как в NGINX указать размер и время

  • Байты указываются без суффикса. Пример:
  • Килобайты указываются с суффиксом k или K . Пример:
  • Мегабайты указываются с суффиксом m или M . Пример:
  • Гигабайты указываются с суффиксом g или G . Пример:

Время задаётся в следующих суффиксах:

В одном значении можно комбинировать различные единицы, указывая их в порядке от более к менее значащим, и по желанию отделяя их пробелами. Например, 1h 30m задаёт то же время, что и 90m или 5400s . Значение без суффикса задаёт секунды.

Рекомендуется всегда указывать суффикс

Некоторые интервалы времени можно задать лишь с точностью до секунд.

Настройка отладки в NGINX

Отладочная информация NGINX в заголовках HTTP headers

Вместо статичной строки можно выводить данные различных переменных, что очень удобно для правильной настройки сервера и поиска узких мест.

Добавление модулей NGINX в Linux (Debian/CentOS/Ubuntu)

Все команды выполняются в консоли, используйте Putty или Far Manager с NetBox/WinSCP. Установка будет происходить под Debian

В результате увидите что-то навроде

Установим дополнительные пакеты.
Если выходит ошибка aptitude: команда не найдена , нужно предварительно установить aptitude:

Эта проблема решается установкой libpcre++-dev :

Эта проблема решается так:

В результате должны увидеть модуль на месте

Основные ошибки nginx и их устранение

502 Bad Gateway

504 Gateway Time-out

Ошибка означает, что nginx долгое время не может получить ответ от какого-то сервиса. Такое происходит, если Apache, с которым NGINX работает в связке, отдаёт ответ слишком медленно.
Проблему можно устранить с помощью увеличения времени таймаута.
При работе в связке NGINX+Apache в конфигурационный файл можно внести изменения:

Тут мы выставили ожидание таймаута в 800 секунд.

Upstream timed out (110: Connection timed out) while reading response header from upstream

Причиной может быть сложная и потому долгая обработка php в работе PHP-FPM.
Здесь тоже можно увеличить время ожидания таймаута

800 секунд на ожидание ответа от бекенда.

Это лишь временные меры, так как при увеличении нагрузки на сайт ошибка снова станет появляться. Устраните узкие места, оптимизируйте работу скриптов php

413 Request Entity Too Large

Ошибка означает, что вы пытались загрузить слишком большой файл. В настройках nginx по умолчанию стоит ограничение в 1Mb.
Для устранения ошибки в nginx.conf нужно найти строку

и заменить значение на нужное. Например, мы увеличим размер загружаемых файлов до 100Mb

Также, можно отключить проверку размера тела ответа полностью значением ноль:

Следует помнить, зачем ввели это ограничение: если любой пользователь может загружать файлы на неподготовленный сайт, можно сравнительно легко провести DDOS-атаку на него, перегружая входной поток большими файлами.

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

304 Not Modified не устанавливается

Если возникает проблема с правильным отображением ответного заголовка сервера 304 Not Modified , то проблема, скорее всего, в пунктах:

Client intended to send too large body

Решается с помощью увеличения параметра client_max_body_size

Как перезагрузить nginx

Для перезагрузки NGINX используйте restart или reload .
Команда в консоли:

Эти команды остановят и перезапустят сервер NGINX.

Перезагрузить конфигурационный файл без перезагрузки NGINX можно так:

Проверить правильность конфигурации можно командой

В чём разница между reload и restart

Как происходит перезагрузка в NGINX:

  1. Команда посылается серверу
  2. Сервер анализирует конфигурационный файл
  3. Если конфигурация не содержит ошибок, новые процессы открываются с новой конфигурацией сервера, а старые плавно прекращают свою работу
  4. Если конфигурация содержит ошибки, то при использовании
    1. restart процесс перезагрузки сервера прерывается, сервер не запускается
    2. reload сервер откатывается назад к старой конфигурации, работа продолжается

    Короче говоря, restart обрывает работу резко, reload делает это плавно.
    Restart рекомендуется использовать, только когда внесены глобальные изменения, например, заменено ядро сервера, либо нужно увидеть результат внесённых изменений прямо здесь и сейчас. В остальных случаях используйте reload.

    Ещё лучше, если вы будете предварительно проверять правильность конфигурации командой nginx -t , например:

    Как вместо 404 ошибки делать 301 редирект на главную

    Как в NGINX сделать редирект на мобильную версию сайта

    Данный код вставляется на уровне server в самое начало файла (не обязательно в самое начало, но главное, чтобы перед определением обработчика скриптов php, иначе редирект может не сработать).

    Как в NGINX включить поддержку WebP

    Теперь, в секции server можно использовать:

    Полезные материалы и ссылки

    Настройка NGINX под WP Super Cache

    Конвертер правил .htaccess (Apache) в NGINX

    Весьма полезный сервис, который поможет cконвертировать правила из .htaccess в NGINX . Результат, возможно, придётся донастроить вручную, но, в целом, он весьма удобен в применении.
    Вот как описывают сервис сами авторы:

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

    Каждый раздел может использоваться независимо от других, поэтому вы можете пропустить разделы, которые вам не нужны. Все условные значения в командах выделены красным; вместо этих значений вы можете подставить свои данные.

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

    Примечание: Предполагается, что вы работаете с версией Nginx, установленной из репозитория по умолчанию в Debian-подобном дистрибутиве. Некоторые из команд и директив, описанных в этом руководстве, отсутствуют в других дистрибутивах или в версиях Nginx, установленных из других источников.

    Установка Nginx

    Обновите индекс пакетов, а затем установите Nginx:

    sudo apt-get update
    sudo apt-get install nginx

    Проверка состояния Nginx

    Чтобы проверить состояние веб-сервера на текущей машине, введите:

    sudo systemctl status nginx

    Автозагрузка Nginx

    По умолчанию сервис Nginx запускается автоматически. Если вы хотите изменить это поведение, введите:

    sudo systemctl disable nginx

    Чтобы снова добавить Nginx в автозагрузку, введите:

    sudo systemctl enable nginx

    Управление сервисом Nginx

    Чтобы остановить сервер Nginx, введите следующую команду:

    sudo systemctl stop nginx

    Чтобы запустить сервер Nginx, введите:

    sudo systemctl start nginx

    Чтобы остановить сервис и запустить его снова, введите:

    sudo systemctl restart nginx

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

    sudo systemctl reload nginx

    Создание корневого каталога для статического контента

    При создании сайтов на Nginx разработчики часто используют виртуальные хосты (или блоки server) – это хосты, которые обслуживают отдельные сайты или домены. Для этого нужно создать document root, каталог верхнего уровня, который Nginx проверяет при обслуживании контента.

    Команды в приведенном ниже блоке создадут новый корневой каталог, передадут права на него пользователю sudo и изменят права доступа к каждому подкаталогу в подкаталога в /var/www/.

    В данном случае корневой каталог предлагает глобальные права на чтение и исполнение. Чтобы выбрать другие права доступа, замените 775 и укажите требуемые права.

    Помните, что права доступа должны меняться в соответствии с ситуацией.

    Создание корневого каталога для динамических файлов

    Если ваш сайт использует динамические модули типа PHP-FPM, вам может понадобиться передать права на некоторые файлы группе www-data. Если группе нужно право на запись в каталоге, передайте группе права собственности на каталог.

    Включение и отключение конфигурационных файлов

    Чтобы включить виртуальный хост, нужно создать симлинк из каталога sites-available в каталог sites-enabled, который Nginx читает во время запуска.

    Для этого введите комнаду:

    После этого нужно перезагрузить Nginx, чтобы настройки обновились.

    Устранение неполадок с хэш-таблицей

    Nginx использует хэш-таблицы, чтобы быстро обрабатывать статические данные (имена серверов, MIME-типы). Если вы добавили несколько имен серверов, есть вероятность, что заданного размера хэша имени сервера будет не хватать, и при внесении изменений вы увидите ошибку server_names_hash_bucket_size. Ее можно устранить, отредактировав одно значение в файле /etc/nginx/nginx.conf.

    Откройте этот файл:

    sudo nano /etc/nginx/nginx.conf

    Это увеличит размер хэш-таблиц имен серверов Nginx и позволит сервису обрабатывать все имена серверов, которые вы добавили. Сохраните и закройте файл, а затем перезапустите Nginx, чтобы обновить настройки.

    Тестирование конфигурации

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

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

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    Если ошибок нет, вы можете перезагрузить сервис:

    sudo systemctl restart nginx

    Важные файлы и каталоги Nginx

    Контент

    Конфигурация сервера

    • /etc/nginx/: конфигурационный каталог Nginx (здесь хранятся все конфигурационные файлы веб-сервера).
    • /etc/nginx/nginx.conf: главный конфигурационный файл веб-сервера, в котором находятся все глобальные параметры.
    • /etc/nginx/sites-available/default: виртуальный хост Nginx по умолчанию. Другие виртуальные хосты также должны храниться в каталоге sites-available (но они не будут работать без симлинка в sites-enabled).
    • /etc/nginx/sites-enabled/: здесь хранятся файлы включенных виртуальных хостов. При запуске или перезагрузке Nginx читает конфигурационные файлы и ссылки в этом каталоге, чтобы собрать полную конфигурацию.
    • /var/log/nginx/access.log: это лог, который регистрирует все запросы Nginx (если в конфигурации веб-сервера не сказано другого).
    • /var/log/nginx/error.log: это лог ошибок.

    Чтобы получить доступ к логам systemd процесса Nginx, запустите эту команду:

    sudo journalctl -u nginx

    Заключение

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

    Читайте также: