Ошибки

nginx -t пишет Permission denied: проверка запущена без sudo

Проверку настроек запустили от обычного пользователя, а nginx должен открыть файлы, доступные только root. Запустите ту же команду с sudo: sudo nginx -t.

Обновлено 10.10.2026≈ 5 мин чтения
Содержание 8

Что сделать прямо сейчас

  1. Запустите проверку с sudo — шаг 1.
  2. Если и с sudo есть ошибка, найдите её в списке — шаг 2.

Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

Что значит это сообщение

2026/10/09 12:00:00 [warn] 2345#2345: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2026/10/09 12:00:00 [emerg] 2345#2345: open() "/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed

13: Permission denied — «нет прав». Команду nginx -t запустили без sudo, то есть от обычного пользователя. Дата, время и номер процесса у вас будут свои. В других сборках nginx та же строка начинается со слов nginx: [emerg].

  • Первая строка — предупреждение: строка user в nginx.conf (от какого пользователя работает nginx) действует, только когда nginx запущен от root.
  • Вторая строка говорит, что ошибок в тексте настроек нет.
  • Третья — что nginx не смог открыть служебный файл /run/nginx.pid, куда он записывает номер своего процесса. Создавать файлы в папке /run может только root. Поэтому итог — test failed.

Если на сервере есть сертификаты

2026/10/09 12:00:00 [warn] 2345#2345: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2026/10/09 12:00:00 [emerg] 2345#2345: cannot load certificate "/etc/letsencrypt/live/example.com/fullchain.pem": BIO_new_file() failed (SSL: error:…:system library::Permission denied:calling fopen(/etc/letsencrypt/live/example.com/fullchain.pem, r) error:…:BIO routines::system lib)
nginx: configuration file /etc/nginx/nginx.conf test failed

Сертификаты nginx читает, ещё пока разбирает настройки, поэтому строки syntax is ok здесь нет. Папка с сертификатами Let’s Encrypt закрыта для всех, кроме root, так что причина та же — нет sudo.

Шаг 1. Запустите проверку с sudo

sudo nginx -t

sudo запустит команду с правами root. Если sudo спросит пароль, введите пароль своего пользователя на сервере: символы при вводе не видны, это нормально. В конце нажмите Enter. Если всё в порядке, ответ будет таким:

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

Не меняйте права на папки /run и /etc/letsencrypt, чтобы проверка шла без sudo: ключ сертификата должен оставаться закрытым от других пользователей.

Шаг 2. Если и с sudo есть ошибка

Если с sudo проверка показывает другую ошибку, найдите её текст на странице Все ошибки nginx.

Если sudo отвечает is not in the sudoers file или не принимает пароль, разберитесь сначала с sudo — на странице Ошибки apt и sudo.

Как проверить

sudo nginx -t отвечает syntax is ok и test is successful, строк со словами Permission denied нет.

Похожие ошибки

СообщениеЧем отличается
open() … failed (13: Permission denied) с client и requestЭто не проверка, а работа сайта: у nginx нет прав на файлы сайта — см. 403 Forbidden
cannot load certificateС sudo тоже не читается — файла нет или он не тот
Job for nginx.service failedОшибка при запуске через systemctl

Тексты сообщений на этой странице сверены с исходным кодом nginx 1.24.0 — эта версия стоит в Ubuntu 24.04. В других версиях слова могут немного отличаться.

Источники

Сверено 9–10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026