Я удалил свой журнал NGINX, потому что он был очень большим, думая, что NGINX автоматически создаст новый журнал на его месте. Не получилось, и теперь у меня нет логов. Файл ранее находился по адресу /opt/nginx/logs/error.log
. Я попытался создать новый файл с такими же разрешениями в том же месте, но, похоже, это не помогло. Я запускаю nginx / 1.4.7 на сервере ubuntu 12.10.
Как мне вернуть журнал?
Я попробовал sudo service nginx restart
, и там написано nginx: unrecognized service
. Я думаю, это может быть связано с тем, что я использую NGINX с Phusion Passenger для обслуживания рельсового приложения, и Passenger изменил несколько вещей. Например, NGINX находится в / opt / nginx
вместо init.d
.
На этот вопрос правильно ответил один из авторов Пассажира на вопрос о переполнении стека. Вот копия его ответа.
Перезапуск Nginx фактически заставил бы вернуть лог-файл. Просто вы не используете правильный метод перезапуска Nginx, так как ваша установка Nginx была установлена из исходников.
Init-скрипты, например /etc/init.d/nginx
и service nginx restart
, не предоставляются исходными кодами Nginx по умолчанию. На самом деле Init-скрипты являются расширениями, предоставляемыми пакетом Nginx операционной системы. Если вы устанавливаете Nginx из исходных текстов, то вы больше не можете использовать init-скрипты для управления Nginx. Вместо этого вы будете использовать более общие примитивы операционной системы для управления Nginx, такие как PID-файлы и сигналы. Узнайте больше в документации Пассажира.
Перезапуск Nginx должен быть осуществлён путём отправки ему сигналов и повторным запуском через команду Nginx. Например:
sudo kill $(cat /opt/nginx/logs/nginx.pid)
sudo /opt/nginx/sbin/nginx
Чтобы узнать больше о перезапуске Nginx, который был установлен из исходников, прочтите эту часть документации Пассажира.
.