我们刚刚安装了一台装有 Ubuntu 18.04 的新机器,一切运行正常,网站也启动了,但是当我们这样做时
passenger-status
我们得到
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:
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 passenger-status 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.
找不到其他可以解决此问题的问题,这是一个全新安装,有什么想法吗?
谢谢,凯文
答案1
我怀疑您是否仍遇到此问题,但它在 G 搜索中显示很高,因此,我在 Apache 和 Passenger v5 + 的 Ubuntu 18.04 上发现的问题与 Apache 的 systemd 设置有关:
它创建的“tmp”目录是 Apache 私有的,因此 Passenger(它将回退到 /tmp 中查找它的实例目录,这至少是 Ubuntu 中适合 apt Passenger 安装的正确位置)无法找到它们。
检查类似目录
/tmp/systemd-private-fb68a3a735d5f1b1bfc80f80f3f51b91-apache2.service-lgHlX1
其中将包含 Passenger tmp 文件夹;或者使用“systemctl show”并查找 PrivateTmp 设置:PrivateTmp=yes
要修复此问题,请使用以下方法修改 Apache 服务定义
sudo systemctl edit apache2.service
并添加(到该空文件):
[Service]
PrivateTmp=false
然后使用 systemctl 停止并启动:
sudo systemctl stop apache2
sudo systemctl start apache2
现在您应该可以在 /tmp 中直接看到 Passenger 文件夹。实例并且乘客状态将再次起作用。