mli*_*bby 6 ruby apache sinatra eventmachine
我有一个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)
Run Code Online (Sandbox Code Playgroud)
尝试:更新所有系统包,更新所有宝石.没有帮助(来自eventmachine的更明确的错误消息除外).
当我跑步时,sudo lsof -i :7655我什么也得不回来.当我运行时,sudo ps aux我根本看不到任何 Ruby进程.鉴于错误消息的性质,我发现这是非常不规则的!
那么在找出端口不可用的原因时我有什么遗漏?
也:
尝试更换端口,没有.我想知道它是否与"localhost"有关?当我ping localhost时,我得到所有丢弃的数据包.这似乎不正常.
事实证明,Sinatra 主脚本中的这两行提供了最多的信息:
set bind: "localhost"
set port: 7655
Run Code Online (Sandbox Code Playgroud)
问题出在本地主机上。环回接口未正确配置。ifconfig显示了lo接口,但尚未分配IP 127.0.0.1。要解决此问题,请在 shell 中运行以下命令(在 Ubuntu Linux 系统上):
ifdown lo
ifup lo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2572 次 |
| 最近记录: |