Назад | Перейти на главную страницу

Monit не может запустить / остановить сервер nginx

У меня проблемы с мониторингом nginx. Monit может отслеживать nginx и отображать использование ресурсов (использование RAM и т. Д.), Но не может запускать / останавливать nginx. Я получаю только простое сообщение: «Выполнение не удалось». Системный журнал не сообщает больше информации.

Мой файл конфигурации monitrc:

check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program  = "/etc/init.d/nginx stop"
group www-data

Перезапуск любой другой отслеживаемой программы (например, dovecot) работает. Кроме того, ручной запуск nginx работает

/etc/init.d/nginx start

Системный журнал:

 May  5 17:47:45 vm7508 monit[7079]: restart service 'nginx' on user request
 May  5 17:47:45 vm7508 monit[7079]: monit daemon at 7079 awakened
 May  5 17:47:45 vm7508 monit[7079]: Awakened by User defined signal 1
 May  5 17:47:45 vm7508 monit[7079]: 'nginx' trying to restart
 May  5 17:47:45 vm7508 monit[7079]: 'nginx' stop: /etc/init.d/nginx
 May  5 17:48:15 vm7508 monit[7079]: 'nginx' failed to stop
 May  5 17:48:15 vm7508 monit[7079]: 'nginx' restart action done

Спасибо.

У меня была такая же проблема, но в моем случае ошибка была ясна, группа была mysql вместо www-data (я запускаю nginx на ubuntu), затем я изменяю файл conf.d, а затем перезапускаю monit и

Статус процесса 'nginx' Статус выполнения мониторинга Наблюдается

Надеюсь, поможет.

Возможно, вы захотите проверить, pid вашего процесса есть или нет. Обычно он хранится в /var/run/ папка. Если pid файл отсутствует, вы должны вручную убить и запустить процесс.

Такая же проблема здесь (Monit 5.6 из репозитория пакета Ubuntu 14.04 LTE). Я не знаю точно, какое условие вы используете для автоматического перезапуска nginx, но вы можете сделать следующее обходное решение:

check process nginx with pidfile /var/run/nginx.pid
    if <YOUR CONDITION> then exec "/etc/init.d/nginx restart"