3

我是 RoR 的新手,对它的体验几乎为零。我收到了别人的项目,我需要找到一种方法来托管应用程序,这样人们就可以在本地访问它。该应用程序是蜘蛛脚本/walker 脚本/网络爬虫,无论您如何称呼它。基本上,它连接到一个网站,登录,每天检索某些数据并将其与以前的数据进行映射。在本地机器上,你使用它,访问 localhost:3000,你会得到前人设计的网页。我只是想知道如何让我们本地网络上的人公开该页面,以便他们可以连接到某个任意 IP 并查看相同的页面(它每天更新)?

我尝试做的是使包含应用程序的文件夹对网络公开,但为了使用它,我必须让网络上的每个人都允许写入它,并且每个人都必须安装 RoR 才能使用它。我想避免这种情况,因为它看起来不合逻辑,也不是我想要做的。

查看代码,我可以进行逆向工程并理解它的作用,但是当涉及到在本地托管 Web 应用程序或类似的东西时,我以前从未这样做过。请帮忙!

提前致谢!

**编辑 - 这一切都是在 Windows 7 机器上完成的。

4

3 回答 3

8
  1. 由于您使用的是 Windows,因此请打开命令行并运行ipconfig以找出您的本地 IP。它将列在“IP 地址”下。
  2. 告诉您 LAN 中的人员访问http://192.168.xx:3000,将步骤 1 中的 IP 地址替换为 192.168.xx。
于 2012-08-07T03:31:22.940 回答
0

编辑:我错过了一件重要的事情,你是窗户。在 Windows 上,您可以使用Thin并将其放在负载均衡器后面。虽然我建议将它托管在 UNIX 机器上:)

尽管在 webrick 中运行它(webrick 是用于开发的应用程序服务器,即当你运行 rails s 时)将让其他用户访问该网站永远不要为生产应用程序做同样的事情。如果你想在生产中运行这个应用程序,你需要更强大的应用程序服务器,比如乘客。我建议您将它与 Apache 或 Nginx 一起使用,而不是单独使用它。设置完所有这些后,其他人可以通过输入 IP(xx.xx.xx.xx)来使用您的应用程序,您也可以要求系统管理员设置本地 DNS,这样您的用户就不必总是记住 IP 地址。

于 2012-08-07T11:09:33.877 回答
0

描述:

在启动 Rails Server 的同时,我们还可以设置一些选项来配置开发环境下站点的 IP 地址和端口号,以在本地网络中托管网站。因此,如果我们想将 IP 从http://127.0.0.1:3000更改为http://192.168.xx:port(x= 0 到 255 任意一个数字),我们可以在 Rails 服务器命令中设置!但是为此,我们需要在当前网络中找出我们当前的 IP 地址,这将有助于我们在本地网络中为网站提供服务。

所以第一步:

我们将在我们的 PC 上打开我们的终端。对于 Android 用户,我们需要打开 Termux 应用程序。然后只需键入ifconfig以获取我们设备在当前网络中的 IP 地址。我们会得到这样的输出(这里我使用 Android 设备进行开发。所以输出可能与您 PC 终端上的输出不同,但过程相同):

$ ifconfig
Warning: cannot open /proc/net/dev (Permission denied). Limited output.
lo: flags=XX<UP,LOOPBACK,RUNNING>  mtu XXXXX
    inet 127.0.0.1  netmask 255.XXX.XXX.XXX
    unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen XXXX  (UNSPEC)
wlan0: flags=XXXX<UP,BROADCAST,RUNNING,MULTICAST>  mtu XXXX
    inet 192.168.1.103  netmask 255.XXX.XXX.XXX  broadcast 192.168.1.255
    unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen XXXX  (UNSPEC)

X= some numbers with our device credentials which is dummied with this variable

如果您使用的是 WiFi 路由器,那么我们将需要该wlan0部件来获取我们的设备 IP。在 wlan0 部分下有一个inet子部分显示我们当前的 IP!是的,我们需要 IP 地址192.168.1.103对于您的设备和网络,这可能会有所不同。这是这个任务的关键!现在我们要进行第二个重要步骤。

所以第二步是:

这需要输入命令来配置 IP 地址。

rails s -b 192.168.1.103 -p 8080

这里:

  1. rails s用于Rails 服务器
  2. -b 192.168.1.103用于从默认 IP http://127.0.0.1 (我们的本地主机地址)中竞标自定义 IP地址。
  3. -p 8080用于端口设置。这部分是可选的。默认端口是 3000

这是将 localhost IP ( http://127.0.0.1 ) 更改为本地网络 IP 的过程,该 IP 可用于同一网络用户的其他设备。

现在我们的 Rails 应用程序在我们的本地网络中可用!同一网络中的其他用户也可以在服务器命令运行时访问该网站。如果您还配置了端口号,链接将为http://192.168.1.103:8080 。否则,如果您使用了rails s -b 192.168.1.103没有端口配置的命令,链接将是:http: //192.168.1.103 :3000

再说一遍: 192.168.1.103 是我的情况,您的 IP 地址会因您的设备而异。这将需要用于您的服务器和链接地址。

于 2021-05-03T07:19:28.793 回答