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

Кот, запущенный с помощью capistrano, немедленно умирает, и та же самая команда успешно выполняется по ssh

так что я играл с капистрано и местным манекеном, резвым vm в vbox. все было хорошо, и мое внимание переключилось на развертывание на реальных машинах. Через пару дней я снова хочу развернуть свою виртуальную машину, и сценарий завершается успешно, но после этого Tomcat не запускается.

Судя по всем сообщениям, которые передает мне capistrano, похоже, что все, включая запуск Tomcat, прошло гладко. Даже файл PID был записан, но если посмотреть на ps aux, этого процесса не существует. В catalina.out ничего нет, но его метка времени обновляется, что вместе с файлом PID является единственным доказательством того, что на виртуальной машине что-то произошло.

Следующее, что я сделал, это взял всю команду запуска tomcat, зарегистрированную capistrano, и выполнил ее «вручную» с помощью ssh. Это дает мне те же самые сообщения журнала, но на этот раз экземпляр tomcat действительно запущен и работает.

Итак, что-то, что capistrano делает с этой командой до того, как она будет отправлена ​​через ssh, должно испортить ее, но понимание источника capistrano команды run доставляет мне трудности, поэтому любые указатели будут оценены.

Оказывается, это был nohup, который потерялся при рефакторинге, и несколько факторов заставили меня не рассматривать его как основную причину. Но в конечном итоге это просто ошибка ...

У вас есть логи от кота под капистрано (catalina.out)

Следует быстро проверить, установлена ​​ли у вас переменная отображения (DISPLAY).

Ссылка ниже объясняет ДИСПЛЕЙ:

http://mail-archives.apache.org/mod_mbox/tomcat-users/200808.mbox/%3CF58E0AE5D219DE4DB2646B2199A4F5DD02B74EE3@exsgmb16.apac.nsroot.net%3E

Исправление:

-Djava.awt.headless=true

Обновление: видел, что catalina.out пуст.