“Не вдалося перевірити файл конфігурації /etc/nginx/nginx.conf”: Як дізнатися, чому це сталося?


91

Я nginx noob, який випробовує цей підручник на nginx 1.1.19 в ubuntu 12.04. У мене є цей конфігураційний файл nginx.

Коли я запускаю цю команду, тест не вдається:

$ sudo service nginx restart
Restarting nginx: nginx: [crit] pread() "/etc/nginx/sites-enabled/csv" failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

Як я знаю, чому тест nginx.conf не вдався?


1
Ви все ще маєте "за замовчуванням" у "/ etc / ngix / sites-enabled"?
RickyA

@RickyA Ви маєте на увазі файл "за замовчуванням"? Так, я все ще маю цей файл, розташований у цьому каталозі. Я перемістив цей файл і запустив nginx -s reload і все ще бачу таку ж поведінку сервера
bernie2436

помилка згадує файл csv, перевірте цей файл на сайтах із підтримкою
Mohammad AbuShady

1
Ad sudo service nginx restart) Nginx також має інструмент CLI: nginx -s reloadперезавантажити конфігурацію на випадок, якщо вона змінилася. Це набагато швидше.
кайзер

Відповіді:


168

sudo nginx -t повинен перевірити всі файли та повернути помилки та попередження


1
він тестує лише один файл, тобто: /etc/nginx/nginx.conf, але як я можу протестувати сайти з увімкненим / за замовчуванням?
aitchkhan

4
він вважає, що буде перевіряти всі, доки вони включені до файлу за замовчуванням (а я вважаю, що вони є?), якщо ви не використовуєте шлях конфігураційного файлу за замовчуванням, спробуйте використати -cпрапор, так щоnginx -c /etc/nginx/sites-enabled/default -t
Mohammad AbuShady

Може підтвердити те, що сказав @MohammadAbuShady. Хоча на сторінці сторінки -tнеясно сказано Не запускати, просто протестуйте файл конфігурації. Nginx перевіряє конфігурацію на правильність синтаксису, а потім намагається відкрити файли, зазначені в конфігурації. файли не просто перевіряються на наявність, але аналізуються. Як і очікувалося, код виходу - 1, якщо виявлено помилку, і 0 - інакше.
Гюнтер Еберль,

5

Ці конкретні команди працювали для мене. sudo apt-get remove --purge nginx nginx-full nginx-common

і sudo apt-get install nginx

заслуга цієї відповіді щодо stackexchnage


-1

Показати файл і помилку доріжки

 systemctl status nginx.service

Це не дає відповіді на запитання. Отримавши достатню репутацію, ви зможете коментувати будь-яку публікацію ; натомість надайте відповіді, які не вимагають роз’яснень від запитувача . - З огляду
NaN
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.