乘客 6 号无法启动 - 无法连接到 TCP 套接字

乘客 6 号无法启动 - 无法连接到 TCP 套接字

我正在尝试使用 Passenger 6 中的新通用语言支持。在开发过程中,我可以按如下方式生成我的演示 Go 应用程序:

passenger start --app-start-command 'env PORT=$PORT ./main'

一切正常。

在我的服务器(运行 Debian Stretch)上尝试运行完全相同的命令时出现以下错误:

[E 2019-01-02 20:17:13.7593 7371/Tr age/Cor/App/Implementation.cpp:221]:无法为应用程序生成进程(...):准备生成应用程序进程时发生操作系统错误:无法连接到 TCP 套接字“127.0.0.1:5000”:无法分配请求的地址(errno=99)

当我运行命令时,我得到了同样的错误root。但是,我可以直接运行 go 二进制文件(env PORT=5000 ./main)。

netstat -ntulp在尝试启动 Passenger 之前和之后运行,发现 上没有任何运行127.0.0.1:5000。启动 Passenger 后,我的服务器正在监听:::5000。因此,Passenger 绑定到空的 IPv4 端口似乎存在问题。

我还要提到,我能够在同一台服务器上使用 Passenger 成功启动 Rails 应用程序。

有什么想法从哪里开始寻找吗?

答案1

事实证明,问题与此有关问题 #2144在 github 上。一开始我没注意到,因为他们注意到的原始症状是 CPU 峰值。

有一个分支通过修复 - 从该分支构建的 Passenger 为我解决了这个问题。

相关内容