什么是localhost,它在哪里定义?

时间:2015-06-19 01:28:33

标签: ruby-on-rails heroku puma

我刚刚在Heroku的推荐下从.... type TFrame2 = class(TFrame) StatusBar1: TStatusBar; Timer1: TTimer; constructor TFrame2.Create(TheOwner: TComponent); begin inherited Create(TheOwner); StartTime := Now; Timer1.Enabled := True; end; destructor TFrame2.Destroy; begin inherited Destroy end; procedure TFrame2.Timer1Timer(Sender: TObject);//This event occurs every second. Var Hour, Min, Sec, MSec : Word; Diff : TTime; begin Timer1.Enabled := False; Diff := Now - StartTime; DecodeTime(Diff, Hour, Min, Sec, MSec); StatusBar1.Panels.Items[1].Text := IntToStr(Min)+' Minutes, '+IntToStr(Sec)+' Seconds.'; Timer1.Enabled := True; end; ... 更改为thin。当我使用puma服务器启动我的rails应用程序时,它会响应: puma 但是,如果我在浏览器中转到 => Booting Puma => Rails 4.2.2 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server Puma 2.11.3 starting... * Min threads: 0, max threads: 16 * Environment: development * Listening on tcp://localhost:3000 ,这是我的旧本地主机与瘦服务器,它不会响应。但是,如果我打开http://0.0.0.0:3000,那么它可以正常工作。似乎localhost的定义已经改变。

那么,http://localhost:3000是什么?特别是,它是什么类型的对象,它是如何定义的,我如何看到实际的IP地址,为什么puma会改变它?

2 个答案:

答案 0 :(得分:3)

Localhost是127.0.0.1环回IP地址{{1}}。它用于代替计算机的主机名。 Localhost有时可能意味着这台计算机。

例如,将运行HTTP服务器的系统上安装的Web浏览器指向http://localhost将显示本地网站的主页。

这是一篇有趣的维基百科文章

https://en.wikipedia.org/wiki/Localhost

答案 1 :(得分:3)

如果你试图让Rails绑定到不同的ip,那么使用-b选项的方法就是这样。要将其绑定到0.0.0.0而不是Rails-default localhost,您希望按照rails s -b 0.0.0.0

的方式运行某些内容

注意:要明确,将-p 3000选项放在那里(设置端口)可能不是一个坏主意,即使默认值不太可能改变。有关可用选项的更多信息也可以通过运行rails s -h找到。