在Rails 5中更改我的默认localhost端口

时间:2017-04-23 16:38:05

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我正在使用rails 5,它可以使用默认的puma服务器并收听localhost:3000

我希望它能听一个像192.168.0.0:3000这样的新端口

有人可以帮忙吗?谢谢

3 个答案:

答案 0 :(得分:5)

Rails 5附带了puma,它在config/puma.rb中配置。您可以更改该文件中的默认端口号,或者在启动rails之前通过设置PORT环境变量来覆盖它。

@Iceman:在Rails 5中,不需要修改Rails以覆盖默认端口,因此您提到的答案不再相关。

编辑:重新阅读原始问题后,我注意到您不想更改端口,而是更改绑定地址。您可以通过编辑config/puma.rb并将port语句替换为bind语句来执行此操作:

# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
#
#port        ENV.fetch("PORT") { 3000 }
bind        'tcp://192.168.0.1:3000'

@JohnLinux:Rails并不知道Puma使用不同的绑定地址这一事实,因此它告诉你它传递给Puma的内容(Puma忽略了)。 Rails中有几个问题'和Puma的github发行追踪器来解决这个问题,AFAICT两端都有变化将绑定地址的控制权交还给Rails,但是我还没有玩弄更新的宝石来看看它到底有多远。重要的是要注释掉port声明,否则Puma实际上会绑定到两者!

答案 1 :(得分:2)

您可以使用-b选项绑定服务器,例如

rails s -p 3000 -b 0.0.0.0其中-p用于端口选项,0.0.0.0将绑定到localhost ip(如果它是192.168.0.0),您可以使用网络中的已连接设备打开应用程序。 如果您想要更改本地IP地址,那不是铁路问题。

答案 2 :(得分:0)

更改Rails 5中的默认端口

更改config / puma.rb

port        ENV.fetch("PORT") { 3000 }