我正在使用rails 5,它可以使用默认的puma服务器并收听localhost:3000
我希望它能听一个像192.168.0.0:3000这样的新端口
有人可以帮忙吗?谢谢
答案 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 }