对于 Nginx 1.14 以上的版本,Passenger 是否已弃用?

对于 Nginx 1.14 以上的版本,Passenger 是否已弃用?

我将 nginx 从 版本更新1.14至。1.18 (Ubuntu)Ubuntu 18.04

这样做似乎会破坏 Passenger。因此我卸载了 Passenger,并尝试通过以下方式重新安装开源版本:Passenger 安装 Ubuntu 18.04 说明

我得到了这一行:

sudo apt-get install -y libnginx-mod-http-passenger

这会引发此错误

libnginx-mod-http-passenger:依赖:nginx-common(<1.14.1)但需要安装 1.18.0-3ubuntu1+bionic1

更新我也尝试使用企业版。按照企业版安装说明,我收到了类似的错误消息:

libnginx-mod-http-passenger-enterprise:依赖:nginx-common(<1.14.1)但需要安装 1.18.0-3ubuntu1+bionic1

我确实尝试研究这个问题,并发现Phusion 的 GitHub 上的这个问题这一最新问题。看来大多数人正在做的是将他们的 nginx 版本回滚到1.14

答案1

您收到的错误消息表明无法安装,passenger因为它依赖于nginx-common < 1.14.1

要解决这个问题,你要做的第一件事就是检查你的系统是否仍然知道 Nginx 的先前版本:

apt show nginx -a | egrep "^(Package|Version|APT-Sources|$)"

输出将类似于以下内容:

Package: nginx
Version: 1.14.0-0ubuntu1.9
APT-Sources: http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages

Package: nginx
Version: 1.14.0-0ubuntu1
APT-Sources: http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

并且您可能拥有版本1.18-<somethin>。为了避免1.18安装版本,您有两个选择:

  1. 删除您添加的存储库以便能够更新nginx。使用sudo apt-add-repository --remove <repository>或浏览和处的源/etc/apt/sources.list/etc/apt/sources.list.d注释掉或删除所述存储库。

  2. 阻止nginx升级到不同于以下版本1.14

sudo apt-get install nginx=1.14.0-0ubuntu1 nginx-common=1.14.0-0ubuntu1
sudo apt-mark hold nginx nginx-common

此后,您就可以重新安装libnginx-mod-http-passenger

答案2

您没有指定使用哪种方法来安装 nginx 1.14 + 乘客。无论如何,对于 Ubuntu 18.04,您似乎无法获得 nginx 1.18 + 乘客。

因此,您可以尝试升级 Ubuntu,或者像您所说的那样回滚 nginx。出于安全原因,不建议使用 Passenger,但您仍然可以使用您指的版本,请参阅

请注意,如上所述这里“2017 年 7 月,Ubuntu 17.04 Zesty 的 Passenger 软件包从静态模块软件包更改为动态模块软件包。”也许您可以尝试从源代码进行编译,这样就可以加载动态模块。YMMV。

有关的

  1. https://github.com/phusion/passenger/issues/2263
  2. https://github.com/phusion/passenger/issues/2291

相关内容