乘客好像不是运行 (Capistrano/Rails/Nginx/Ubuntu)

Passenger doesn't seem to be running (Capistrano/Rails/Nginx/Ubuntu)

我正在 Ubuntu 14.4Ruby 2.3.3NginxPassenger。当我使用 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

但没有任何帮助!我已经检查了我的 Nginx default_sites 以查看我是否指向当前 rails 路径并且一切看起来都是正确的。

感谢任何帮助!

此问题已通过在 my_app_name/current/tmp 中添加 restart.txt 解决:

*在服务器端完成:

*touch my_app_name/current/tmp/restart.txt

并添加:

set :passenger_restart_with_touch, truedeploy.rb

更新

在最新版本的 capistrano 中,这由 gem 'capistrano-passenger' 并在您的 capfile

中添加 require 'capistrano/passenger' 来解决