Пассажир 5 / Капистрано

Я пытаюсь развернуть приложение Rails на VPS через Capistrano. У меня на VPS установлен автономный пассажир и используется гем capistrano-passenger с конфигурацией по умолчанию.

Выполнение cap deploy приводит к следующему результату:

DEBUG [3197887c] Finished in 0.046 seconds with exit status 0 (successful).
DEBUG [fdb1fe0b] Running /usr/bin/env passenger -v as [email protected]
DEBUG [fdb1fe0b] Command: cd /var/www/my_app/releases/20150625021829 && /usr/bin/env passenger -v
DEBUG [fdb1fe0b]    Phusion Passenger version 5.0.11
DEBUG [fdb1fe0b]    
DEBUG [fdb1fe0b]    
DEBUG [fdb1fe0b]    "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
DEBUG [fdb1fe0b]    
DEBUG [fdb1fe0b] Finished in 0.066 seconds with exit status 0 (successful).
INFO [8557b41e] Running /usr/bin/env sudo /usr/bin/env passenger-config restart-app /var/www/my_app --ignore-app-not-running as [email protected]
DEBUG [8557b41e] Command: cd /var/www/my_app/releases/20150625021829 && /usr/bin/env sudo /usr/bin/env passenger-config restart-app /var/www/my_app --ignore-app-not-running
DEBUG [8557b41e]    *** ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it
DEBUG [8557b41e]    
DEBUG [8557b41e]    is running, then the causes of this problem could be one of:
DEBUG [8557b41e]    
DEBUG [8557b41e]    
DEBUG [8557b41e]     1. You customized the instance registry directory using Apache's
DEBUG [8557b41e]    
DEBUG [8557b41e]        PassengerInstanceRegistryDir option, Nginx's
DEBUG [8557b41e]    
DEBUG [8557b41e]        passenger_instance_registry_dir option, or Phusion Passenger Standalone's
DEBUG [8557b41e]    
DEBUG [8557b41e]        --instance-registry-dir command line argument. If so, please set the
DEBUG [8557b41e]    
DEBUG [8557b41e]        environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory
DEBUG [8557b41e]    
DEBUG [8557b41e]        and run this command again.
DEBUG [8557b41e]    
DEBUG [8557b41e]     2. The instance directory has been removed by an operating system background
DEBUG [8557b41e]    
DEBUG [8557b41e]        service. Please set a different instance registry directory using Apache's
DEBUG [8557b41e]    
DEBUG [8557b41e]        PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir
DEBUG [8557b41e]        

Я использую конфигурацию по умолчанию. Что-нибудь, что я могу сделать, чтобы заставить его работать?


person alexs333    schedule 25.06.2015    source источник
comment
Автор Phusion Passenger здесь. Как говорится в сообщении об ошибке, Passenger не запущен. Вы уверены, что он запущен? Если нет, то почему не запускается? Возможно, это первое развертывание, которое вы делаете на этом сервере?   -  person Hongli    schedule 25.06.2015
comment
У меня есть вышеуказанная проблема, и это первое развертывание. Я получаю следующую ошибку. Нет приложений, обслуживаемых Phusion Passenger, пути которых начинаются с «/var/www/admin». Какой лучший обходной путь?   -  person jmvbxx    schedule 23.06.2016


Ответы (4)


Используйте set :passenger_restart_with_touch, true в качестве обходного пути на Passenger 5.

Это известная проблема, описанная в https://github.com/capistrano/passenger/issues/26.

person Ain Tohvri    schedule 23.10.2015
comment
На Rails 5 и Phusion Passenger 5.1.1 это работало для меня, но я установил false set :passenger_restart_with_touch, false, чтобы использовать команду по умолчанию для перезапуска с разработка с Capistrano как cap production passenger:restart. - person alexventuraio; 26.12.2016

Недавно я столкнулся с этим, и причина в моем случае заключалась в том, что пользователю deploy требовались привилегии sudoer для команды passenger-config.

person Kyle Decot    schedule 25.06.2015
comment
у развертывателя есть sudo без пароля, и я пытался запустить его с помощью sudo (set :passenger_restart_with_sudo, true). Все равно не повезло... - person alexs333; 25.06.2015

У вас есть гем «пассажир» в вашем Gemfile? Убедитесь, что на вашем VPS установлен пассажирский гем. Кроме того, если вам нужен Nginx в качестве веб-сервера, выполните следующую команду на своем VPS rvmsudo passenger-install-nginx-module. Дайте мне знать, если вам нужна дополнительная помощь.

person raza.sayed    schedule 25.06.2015

Прежде всего, вы должны убедиться, что пассажир в настоящее время работает на вашем сервере, поэтому попробуйте: rvmsudo bundle exec passenger start. Если это сработало, попробуйте установить:

set :passenger_in_gemfile, true
set :passenger_restart_with_sudo, true

а затем проверьте настройку с помощью cap production passenger:restart.
(применимо к Passenger Standalone, установленному через Gemfile).

person lakesare    schedule 23.12.2015