如何同时在 localhost 和 web 上运行 Ruby 项目?
Posted
技术标签:
【中文标题】如何同时在 localhost 和 web 上运行 Ruby 项目?【英文标题】:How to run a Ruby project on localhost and web simultaneously? 【发布时间】:2012-04-17 10:32:32 【问题描述】:我目前正在使用 Ruby on Rails 开发 Web 服务。我希望同时在 LAN 和 Web 上运行它?怎么办?
【问题讨论】:
只要确保您的服务器接受来自外部网络和局域网的请求。 Rails 应用程序不应该关心请求的来源。 【参考方案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
我发现proxylocal
、localtunnel
和showoff
在易用性和可靠性方面是相似的。我更喜欢proxylocal
,因为它允许我为本地服务器命名和重用子域。
请勿将此方法用于生产设置
【讨论】:
实际上我正在开发一个内部网系统,它将在我们学院的服务器上运行。但我想确保用户也应该能够在家中通过互联网访问它。 你为什么不使用像 Heroku 这样的服务呢?您可以在任何地方访问服务器,并且可以毫不费力地启动和运行服务。以上是关于如何同时在 localhost 和 web 上运行 Ruby 项目?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PHP 项目设置为 Webhosting 和 Localhost 以同时在线和离线工作
通过 https 加载的网页如何连接到在 localhost 上运行的 WebSocket 服务器?
如何使用 Apache Web 服务器在 localhost 上配置 Ion cube 许可证