在为 Passenger-Enterprise 安装最新的稳定版本后,我的服务器遇到未知错误:
Required key 'ust_router_address' is missing (-1: Unknown error)
对服务器的影响令人惊讶:应用程序可以启动(并且 nginx restart 命令返回 ok),但用户会收到“403 Forbidden”。查看日志发现,尽管权限正确(且未更改!),但我的用户显然无法访问应用程序根文件夹 (/var/www/../public)。
我联系了支持人员,但还没有消息,作为临时的解决方法,我恢复到了以前的版本(通过sudo apt-get install passenger-enterprise=1:5.1.8-2~trusty1
并重新启动 nginx),它可以无缝运行。
任何见解都非常感谢,当我查看文档时,ust_router_address
它应该是由乘客自动设置的。
提前致谢。
答案1
我的声誉不够,无法对此发表评论。我已在https://github.com/phusion/passenger/issues/2000
我也遇到了这个错误,使用
libapache2-mod-passenger 1:5.1.11-1~trusty1 amd64
passenger 1:5.1.11-1~trusty1 amd64
它在正常重启时失败(在日志轮换期间),并出现以下错误
[Thu Nov 02 06:28:28.257749 2017] [passenger:error] [pid 1916:tid 140125707691904] *** Passenger could not be initialized because of this error: Required key 'ust_router_address' is missing
重启后,系统显示没有问题,配置也没有更改。我们甚至不使用 Union Station。
答案2
由于这是该问题在 Google 上的最热门搜索结果,如果你没有时间查看 Passenger 错误报告,解决方案是停止正在运行的 nginx/apache 服务,然后启动它。也就是说,不要简单地重新加载(这可能发生在你升级 Apache 时),而是确保旧服务完全消失,然后启动它:
例如sudo apache2ctl stop
然后 sudo apache2ctl start
(我在日志中看到的是版本 5.1.8,尽管升级到 5.1.11...这表明旧 Passenger 仍然存在)
答案3
经过进一步调查,并感谢乘客支持团队,我设法解决了这个问题。
最终有效的方法是更新nginx-extras
到不依赖任何“union_station_”类型配置的最新版本。
apt-get update && apt-get install nginx-extras
希望这对遇到此问题的人有所帮助。
答案4
我遇到了相同或类似的问题,通过重新启动 apache2 解决了该问题。