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

Опитвам се да разположа Rails приложение към VPS чрез Capistrano. Имам инсталиран самостоятелен пътник на VPS и използвам capistrano-passenger gem с конфигурация по подразбиране.

Изпълнението на 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 като заобиколно решение на пътник 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, за да използвам командата по подразбиране за рестартиране от развитие с Капистрано като 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

Първо трябва да се уверите, че passat в момента работи на вашия сървър, така че опитайте: 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