ruby rails中如何配置puma服务监听指定的IP地址

Posted dajianshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby rails中如何配置puma服务监听指定的IP地址相关的知识,希望对你有一定的参考价值。

puma是rails默认的web服务,当使用rails server启动的时候,puma默认的监听地址是127.0.0.1:3000,此时的web服务只能在本机上访问。当然通过命令行我们可以很方便的改变默认设置,例如:

rails s -b 0.0.0.0 -p 3003

这样就将默认端口改为了3003,监听全部地址,我们就可以在局域网其他机器上访问服务了。

但是每次都通过参数修改不免流于下乘了,最为懒惰的程序员必须要偷懒,比如可以建立个shell程序 srv.sh。

但是今天我要说的不是此种方法,其实在config目录下,就有puma.rb配置程序可用。

修改此文件,据我所知也有两种方式,其一,使用bind命令:

bind tcp://0.0.0.0:3008
# port        ENV.fetch("PORT") { 3008 }

此时port命令需要注释掉。

其二,设置默认host地址:

set_default_host 0.0.0.0

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

set_default_host 一定要放置在port命令之前。

通过以上两种修改方式任意一种修改后,我们就可以简单地 使用 rails s 命令启动服务了。

以上都是网上搜索所得,觉得有些用处,所以记录下来。

以上是关于ruby rails中如何配置puma服务监听指定的IP地址的主要内容,如果未能解决你的问题,请参考以下文章

ruby 在Heroku上设置Puma和Rails

Elastic Beanstalk:自定义 Puma 配置

Ruby on Rails:如何通过 ngrok 访问 Action Cable?

Ruby 生产服务器内存泄漏

Capistrano在升级ruby版本和puma时重启错误版本的puma

使用 -d(守护进程)运行 Rails(Puma)时的 Nginx 502