我正在尝试使用 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 应用程序。
有什么想法从哪里开始寻找吗?