【问题标题】:How to run a Ruby project on localhost and web simultaneously?如何同时在 localhost 和 web 上运行 Ruby 项目?
【发布时间】:2012-04-17 10:32:32
【问题描述】:

我目前正在使用 Ruby on Rails 开发 Web 服务。我希望同时在 LAN 和 Web 上运行它?怎么办?

【问题讨论】:

  • 只要确保您的服务器接受来自外部网络和局域网的请求。 Rails 应用程序不应该关心请求的来源。

标签: ruby-on-rails ruby localhost


【解决方案1】:

如果您的意思是“我怎样才能使我的本地网络服务器也可以从普通互联网访问”,那么简单的入门方法是建立一个从合适的远程主机(例如 VPS 或其他服务器)到您的 SSH 隧道本地机器。

您需要确保您的sshd 配置允许打开隧道端口,因为默认情况下这些端口是受限制的。

【讨论】:

  • 您能否详细说明如何从 Internet 调用我的本地主机?它是怎么做的?
【解决方案2】:

要么允许通过 LAN 和 Internet 访问服务器,要么设置两个指向同一数据库的服务器。 Rails 无论如何都会启动多个实例,因此您不会有损坏的数据。

【讨论】:

  • 您是说我应该将它部署在 haraku 以及我的局域网服务器上?怎么办?
  • 是的。您只需将您的 Rails 应用程序签出到两台服务器。然后您允许从远程客户端访问您的数据库。然后相应地更改 database.yml。在 haraku 上,它将是本地计算机上的 localhost,您需要指定 IP 或域。如果你不确定它是如何完成的,你应该搜索一个howto。
【解决方案3】:

我假设

  • 您希望向 Internet 上的人演示在本地计算机上运行的产品。

  • 您正在尝试测试 Paypal IPN 通知。

1) 安装proxylocal gem

gem install proxylocal

2) 在开发模式下运行您的 Rails 服务器。

3) 本地运行代理

$ proxylocal 3000 --host joshi_server
Local server on port 3000 is now publicly available via:
http://joshi_server.t.proxylocal.com/

现在,您可以通过网络使用http://joshi_server.t.proxylocal.com/ 访问您的本地服务器。

注意

类似服务

免费 : localtunnel, pagekite, yaler,

付费showoff.io

我发现proxylocallocaltunnelshowoff 在易用性和可靠性方面是相似的。我更喜欢proxylocal,因为它允许我为本地服务器命名和重用子域。

请勿将此方法用于生产设置

【讨论】:

  • 实际上我正在开发一个内部网系统,它将在我们学院的服务器上运行。但我想确保用户也应该能够在家中通过互联网访问它。
  • 你为什么不使用像 Heroku 这样的服务呢?您可以在任何地方访问服务器,并且可以毫不费力地启动和运行服务。
猜你喜欢
  • 2017-08-29
  • 2015-06-02
  • 2018-09-02
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多