为什么 Puma 在 'tcp://localhost:3000' 上监听而不是 'http://localhost:3000'?

3
我是一名Rails开发者。曾经有一次,我想在手机上调试本地运行的Rails应用程序。因此,我尝试更新我的'/etc/hosts'文件,将LAN IP地址(192.168.0.18)添加到localhost中,并确保您的笔记本电脑和手机连接到同一个局域网。
如果我使用'Webwrick'启动Rails应用程序,它将侦听'http://localhost:3000',然后一切正常。
但是,如果我使用'Puma'启动Rails应用程序,它将侦听'tcp://localhost:3000',然后我无法通过我的LAN IP地址和端口(192.168.0.18:3000)访问服务器。

3
尝试使用 rails s -b 192.168.0.18 命令运行 Rails。 - arieljuod
@arieljuod,已确认您的方法可行。但是,您能否帮忙回答上面的问题,为什么Puma监听'tcp'而不是'http'? - hiveer
抱歉,我不是很清楚。 - arieljuod
2个回答

4
HTTP协议基于TCP,HTTP对原始的TCP格式进行了添加,所以它们有点相似。 鉴于Webrick和Puma是不同的HTTP服务器,它们可能以不同的方式指称同一件事情。 希望这在你使用Rails的过程中是最小的问题!享受吧!

0
尝试运行以下命令:rails s -b 0.0.0.0 -p 3000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接