【发布时间】:2018-02-13 23:18:41
【问题描述】:
使用 Capistrano 将 Rails 应用部署到运行 Apache 且启用了 Passenger 的 Ubuntu VM。
我按照本教程:https://www.phusionpassenger.com/library/install/apache/install/oss/trusty/ 进行了一些更改,因为我使用的是 17.04,而不是 14.04 LTS。
passenger-config validate-install 表示,Passenger 和 Apache 看起来一切正常。 passenger-memory-stats 显示Passenger 和Apache 进程。
我多次sudo apache2ctl restarted,没有任何警告。但是 passenger-status 以及 Capistrano 运行的 passenger-config restart-app 报告说,Passenger“似乎没有运行”。所以我的部署停止了。
机器上只有一个 Ruby,使用 ruby-install 安装了 ruby-2.4.1。如果版本不匹配,我有apt-get update 和upgraded。
Apache 日志没有显示任何错误,当然与Passenger 无关。
为什么Passenger内部会不同意,说它配置正确并且有进程在运行,但后来又说它没有运行?
【问题讨论】:
-
你在测试哪些用户与运行 capistrano 的身份?你可以在这里为两者转储 shell 环境吗?
-
Camden 谢谢,教程中的步骤在我看来是一样的。目前只有一个用户用于设置和部署。 ENV 中有一些半敏感的东西,但我可以给你
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin。那里没有与乘客特别相关的内容(例如自定义实例注册表目录)。让我知道是否有任何其他 ENV 值会对您有所帮助。 -
$TMPDIR在两个环境中是否相同? -
对不起,我之前误解了你的问题。我有一个远程用户和一个本地用户。在服务器 (Ubuntu) 上
$TMPDIR未设置。本地(OSX)它是/var/folders/50/m8x23f6s7lg6pb2sxpx_47g4m2j3m8/T/。
标签: ruby-on-rails apache ubuntu capistrano passenger