gpt4 book ai didi

ruby - 无法启动 sinatra 进程 - eventmachine "no acceptor"

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:34 26 4
gpt4 key购买 nike

我有一个作为守护程序运行的 Sinatra 应用程序,使用 Apache 端口转发在端口 80 和端口 7655 之间进行调解。这在过去一直运行良好。今天,不太好。我不明白为什么。

问题:sudo ruby​​ my_process.rb 返回:

/var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)

尝试过:更新所有系统包,更新所有 gem。没有帮助(除了来自 eventmachine 的更清晰的错误消息)。

当我运行 sudo lsof -i :7655 时,我什么也没得到。当我运行 sudo ps aux 时,我根本看不到任何 Ruby 进程。考虑到错误消息的性质,我发现这是非常不规则的!

那么在找出端口不可用的原因时我是否遗漏了什么?


还有:

尝试更改端口,没有任何效果。我想知道它是否与“本地主机”有关?当我 ping 本地主机时,我得到所有丢弃的数据包。这似乎不正常。

最佳答案

事实证明,Sinatra 主脚本中的这两行提供了最多的信息:

set bind: "localhost"
set port: 7655

问题出在本地主机上。未正确配置环回接口(interface)。 ifconfig 显示了 lo 接口(interface),但它没有分配 IP 127.0.0.1。要解决此问题,请在 shell 中运行以下命令(在 Ubuntu Linux 系统上):

ifdown lo
ifup lo

关于ruby - 无法启动 sinatra 进程 - eventmachine "no acceptor",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com