Job for nginx.service failed: nginx не запускается через systemctl
Это сообщение systemd, а не nginx: оно говорит только, что запуск не удался. Настоящая причина — в ответе команды sudo nginx -t или в журнале службы. Найдите её и исправьте.
Содержание 9
Что сделать прямо сейчас
- Проверьте настройки командой
sudo nginx -t— шаг 1. - Если проверка прошла, посмотрите журнал службы — шаг 2.
- Исправьте ошибку и запустите nginx — шаг 3.
Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
Что значит это сообщение
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.Это ответ на команду sudo systemctl start nginx, restart или reload. Его пишет systemd — программа, которая запускает службы на сервере. «Задача для nginx.service не выполнена: управляющий процесс завершился с ошибкой». Вторая строка советует, где искать подробности.
В Ubuntu systemd запускает nginx в два приёма: сначала проверяет настройки командой nginx -t, потом запускает сам nginx. Сообщение значит, что одна из этих команд завершилась с ошибкой. Какая и почему — в шагах ниже.
Шаг 1. Проверьте настройки
sudo nginx -tЕсли в ответе есть [emerg] и test failed, причина в настройках. Найдите текст ошибки на странице Все ошибки nginx — там ссылки на каждую. Примеры:
- unknown directive — опечатка в названии директивы;
- unexpected end of file — не хватает закрывающей скобки;
- cannot load certificate — не найден файл сертификата.
Если в ответе syntax is ok и test is successful, настройки в порядке — переходите к шагу 2.
Шаг 2. Посмотрите журнал службы
sudo journalctl -xeu nginx.serviceКоманда покажет конец журнала службы nginx. Ищите строки со словом [emerg]. Выйти из просмотра — клавиша Q.
Если проверка настроек прошла, а запуск — нет, причина бывает в том, что порт занят: в журнале будет строка bind() to 0.0.0.0:80 failed (98: Address already in use). Что делать — на странице Address already in use.
Короткая сводка о службе:
sudo systemctl status nginxВ строке Active: будет failed (Result: exit-code). Ниже — последние строки журнала. Выйти — клавиша Q.
Шаг 3. Запустите nginx
Когда ошибка исправлена, запустите nginx:
sudo systemctl start nginxЕсли команда ничего не ответила, nginx запущен.
Если в сообщении start of the service was attempted too often
Job for nginx.service failed because start of the service was attempted too often.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
To force a start use "systemctl reset-failed nginx.service"
followed by "systemctl start nginx.service" again.nginx пытались запустить слишком много раз подряд, и systemd перестал пробовать. Сначала найдите и исправьте ошибку — шаги 1 и 2. Потом сбросьте счётчик попыток и запустите nginx:
sudo systemctl reset-failed nginx.service
sudo systemctl start nginxЕсли после слова because другие слова, шаги те же: проверка настроек, затем журнал.
Как проверить
systemctl status nginxВ строке Active: должно быть active (running). Выйти — клавиша Q. Откройте сайт в браузере.
Похожие ошибки
| Сообщение | Чем отличается |
|---|---|
| Address already in use | Порт занят другой программой — видно в журнале службы |
| nginx -t: Permission denied | Проверку запустили без sudo |
| ERR_CONNECTION_REFUSED | Так браузер показывает сайт, когда nginx не запущен |
| Job for … failed у любой службы | Та же ошибка у MySQL, PHP и других служб |
Тексты systemd на этой странице сверены с исходным кодом systemd 255 — эта версия стоит в Ubuntu 24.04.
Источники
- Исходный код systemd 255: bus-wait-for-jobs.c — тексты Job for … failed и подсказка про reset-failed.
- Служба nginx в Ubuntu 24.04: файл nginx-common.nginx.service — служба сначала выполняет nginx -t, потом запускает nginx.
- man systemctl — команды start, status и reset-failed.
- man journalctl — ключи -x, -e и -u.
Сверено 9–10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026