Я развертываю свое приложение в Ubuntu 14.4, Рубин 2.3.3, Nginx и Пассажир. Когда я развертываю с помощью capistrano
, я получаю сообщение об ошибке:
SSHKit::Command::Failed: passenger-config exit status: 1
passenger-config stdout: Nothing written
passenger-config stderr: *** ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it
is running, then the causes of this problem could be one of:
1. You customized the instance registry directory using Apache's
PassengerInstanceRegistryDir option, Nginx's
passenger_instance_registry_dir option, or Phusion Passenger Standalone's
--instance-registry-dir command line argument. If so, please set the
environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory
and run this command again.
2. The instance directory has been removed by an operating system background
service. Please set a different instance registry directory using Apache's
PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir
option, or Phusion Passenger Standalone's --instance-registry-dir command
line argument.
Tasks: TOP => passenger:restart
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as user@IP-Address: passenger-config exit status: 1
passenger-config stdout: Nothing written
passenger-config stderr: *** ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it
is running, then the causes of this problem could be one of:
1. You customized the instance registry directory using Apache's
PassengerInstanceRegistryDir option, Nginx's
passenger_instance_registry_dir option, or Phusion Passenger Standalone's
--instance-registry-dir command line argument. If so, please set the
environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory
and run this command again.
2. The instance directory has been removed by an operating system background
service. Please set a different instance registry directory using Apache's
PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir
option, or Phusion Passenger Standalone's --instance-registry-dir command
line argument.
Я пробовал несколько предложений, например: https://www.pistolfly.com/weblog/en/2016/01/passenger-config-and-passenger-status-result-in-an-error-on-centos7.html
Пассажир не работает (Capistrano / Rails / Apache / Ubuntu)
Но ничего не помогло! Я проверил свои Nginx default_sites, чтобы узнать, указываю ли я на текущий путь рельсов, и все выглядит правильно.
Любая помощь приветствуется!
Эта проблема была устранена путем добавления restart.txt
в my_app_name/current/tmp
:
* Это делается на сервере:
* touch my_app_name/current/tmp/restart.txt
И добавить:
set :passenger_restart_with_touch, true
в deploy.rb
ОБНОВИТЬ
В последней версии capistrano об этом позаботился gem 'capistrano-passenger'
и добавление require 'capistrano/passenger'
в ваш capfile
.