Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 允许公共连接到本地RubyonRails开发服务器_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 允许公共连接到本地RubyonRails开发服务器

Ruby on rails 允许公共连接到本地RubyonRails开发服务器,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在Windows计算机上设置RoR开发环境。我想知道如何设置它,以便我的几个朋友可以访问web服务器并监控进度 最多只能有2到3个人在任何时候连接。您可以告诉您的开发服务器在您的公共可访问界面上侦听: 如果您通过rails服务器运行服务器,则可以通过-b或-binding=指定要侦听的IP。默认情况下,服务器侦听0.0.0.0,即仅侦听本地连接 用法:rails服务器[混合、精简等][选项] -p、 --port=端口在指定端口上运行Rails。 默认值:3000 -b、 --binding

我正在Windows计算机上设置RoR开发环境。我想知道如何设置它,以便我的几个朋友可以访问web服务器并监控进度


最多只能有2到3个人在任何时候连接。

您可以告诉您的开发服务器在您的公共可访问界面上侦听:

如果您通过
rails服务器运行服务器
,则可以通过
-b
-binding=
指定要侦听的IP。默认情况下,服务器侦听0.0.0.0,即仅侦听本地连接

用法:rails服务器[混合、精简等][选项]
-p、 --port=端口在指定端口上运行Rails。
默认值:3000
-b、 --binding=ip将Rails绑定到指定的ip。
默认值:0.0.0.0
你可以找到你的机器的网络地址,并绑定到该地址,但你必须转发端口,并找出你在互联网上的可公开路由的IP地址;这超出了堆栈溢出的范围。

试一试。这是一颗红宝石,所以你应该不会有任何问题:

gem install localtunnel
localtunnel 3000
第一次这样做时,它会要求您提供一个ssh密钥,但一旦设置好,它会显示您可以共享的公共url。在指定端口上运行的任何内容都将在该url上公开

Showoff io看起来像一个类似的服务,但我还没有使用过,所以我无法发表评论。而且,它是付费的,需要注册。

正如有人建议的,使用


这非常简单。

最简单的方法需要无需额外安装:只需在启动服务器时向
rails服务器
(或
rails s
)命令添加一个选项即可:

rails s --binding=0.0.0.0
0.0.0.0
地址表示“侦听来自任何地方的请求”。在许多系统上,默认值为
127.0.0.1
,表示“仅侦听来自本地主机的请求”


(如果您没有指定
-p
-port
选项,则端口应为
3000
,与往常一样。)

通过将Rails服务器绑定到0.0.0.0,允许远程连接


这里有一个简短的符号给那些不喜欢键入与编程无关的内容的人——更多的网站管理员、超级用户或系统管理员。当你准备好展示一些东西时,设置一个免费的应用程序和git push heroku master可能会更好、更容易。允许人们查看您的开发通常会适得其反。0.0.0.0实际上是计算机上的所有连接,因此您不需要绑定到特定的IP地址。我一直从手机连接到0.0.0.0上的开发应用程序,查看手机布局。很可能防火墙上只有一个洞。@Eric你能解释一下当你的本地rails服务器运行在0.0.0.0上时,你在手机上放了什么地址吗?它是运行服务器的计算机的ip地址还是您的ip地址?例如:192.168.0.100?我找到了:)您运行本地rails服务器,如
rails s-b 192.168.0.100
,然后在手机上设置地址以将其指向“”,或者运行时分配给您的端口的任何地址。GreatA许多网络出于某种原因不让这种情况发生。非常感谢,这会起作用的。我还研究了heroku,这似乎也是一个可靠的解决方案。如果重新启动服务器,我会遇到localtunnel问题。Showoff可以更好地维护连接,但在免费的planlocaltunnel上限制为5分钟。localtunnel现在似乎已关闭,请尝试使用ngrok在最新版本(1.0.2)中启动localtunnel的命令现在已更改。改用
lt-p3000
。这是我运行的机器“A”的最佳答案
rails s--binding=0.0.0.0
。。。如何在同一wifi上与机器“B”连接?@slindsey3000,在机器B上,使用机器A的IP地址作为URL中的主机名。如果您在linux上,请在机器A上运行
sudo ifconfig
,以了解其本地IP地址;如果您在Windows上,请运行
ipconfig
。本地IP地址可能以
192.168.X.X
10.71.X.X
开头。因此,机器B中的地址栏类似于
http://192.168.0.14:3000/
即使这样做有效,绑定到0.0.0.0也被认为是不安全的,我将始终使用IP地址。但仍然是一个有效的答案如果你走这条路,你可能需要配置防火墙和/或路由器以允许外部访问