Когда я впервые открыл NGINX, меня встретил странный мир конфигурационных файлов и терминала. Казалось, что без суперспособностей в командной строке там делать нечего. Но на практике всё гораздо проще: достаточно знать несколько базовых команд, и сервер будет под контролем.

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

Основные команды NGINX
1. Проверка конфигурации

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

sudo nginx -t

Пример результата:

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

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

2. Перезапуск NGINX

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

sudo systemctl restart nginx      # полная перезагрузка
sudo systemctl reload nginx       # плавная перезагрузка без разрыва соединений

Разница проста: restart останавливает и запускает сервер заново, а reload применяет изменения на лету.

3. Запуск и остановка сервера

Если NGINX ещё не запущен, его можно включить командой:

sudo systemctl start nginx

Для остановки:

sudo systemctl stop nginx

 Чтобы проверить статус сервера: 

sudo systemctl status nginx

Вы увидите, работает ли сервер и нет ли ошибок в логах.

4. Просмотр логов

Логи помогают понять, что происходит с сервером:

sudo tail -f /var/log/nginx/access.log   # просмотр последних записей доступа
sudo tail -f /var/log/nginx/error.log    # просмотр ошибок

Совет: всегда держите один терминал для логов. Это спасает при отладке после внесения изменений.

5. Управление конфигурацией сайтов

NGINX использует так называемые виртуальные хосты, которые хранятся в папках:

  • /etc/nginx/sites-available/ — все доступные конфигурации сайтов

  • /etc/nginx/sites-enabled/ — активные сайты (через символьные ссылки на sites-available)

Создание символьной ссылки

Чтобы активировать сайт, нужно создать ссылку из sites-available в sites-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Затем проверяем конфигурацию и перезагружаем NGINX:

sudo nginx -t
sudo systemctl reload nginx

Если сайт больше не нужен — удаляем ссылку:

sudo rm /etc/nginx/sites-enabled/example.com
sudo systemctl reload nginx

Редактирование конфигурации

Конфигурации сайтов хранятся в текстовых файлах. Открыть и редактировать их можно любым текстовым редактором, например nano или vim:

sudo nano /etc/nginx/sites-available/example.com

Типичный файл может выглядеть так:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

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

sudo nginx -t

Если ошибок нет — применяем изменения:

sudo systemctl reload nginx

Совет по редактированию

  • Всегда делайте резервную копию файла перед изменениями:

sudo cp /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com.backup
  • Изменения вступают в силу только после reload или restart.

  • Для тестирования лучше использовать тестовый сайт, чтобы не нарушить работу живого сервера.

6. Быстрые команды для повседневного контроля

КомандаНазначение
sudo nginx -vУзнать версию NGINX
sudo nginx -VУзнать версию и опции компиляции
sudo nginx -s stopНемедленно остановить сервер
sudo nginx -s quitАккуратно остановить сервер после завершения текущих соединений
sudo nginx -s reloadПерегрузить конфигурацию без остановки соединений

Теперь, когда вы знаете базовые команды NGINX, управление сервером станет простым и предсказуемым. Главное правило: проверяйте конфигурацию перед перезапуском и всегда смотрите логи.

Мой совет новичкам: создайте свой небольшой тестовый сайт и попробуйте все команды на нём, чтобы почувствовать сервер. Не бойтесь экспериментировать — с NGINX всё относительно безопасно, а навыки командной строки окупятся многократно.