在 Rails 上开发 Ruby 网络应用程序:如何将其移动到服务器?

Developing Ruby On Rails web-app : How can I move it to a server?

我正在研究在 rails 上使用 Ruby 来开发网络应用程序。到目前为止,它确实看起来像是一个经过深思熟虑的框架,最终从开发过程中完成了大量繁重的任务。但是我有一个疑问:

当我在 PC 'A' 上开发并从 PC 'A' 访问 localhost:3000 时,我似乎只能看到开发中的 ROR Web 应用程序。但是,我想在 Raspberry Pi 网络服务器上托管我的网络应用程序,该服务器始终在我家中。因此我看到 2 个可能的选项:

1) 在 PC 'A' 上开发网络应用程序,然后将 ROR 网络应用程序复制到 Raspberry Pi 网络服务器的 /var/www 目录中(使用标准的 Apache2 配置)->这行得通吗?要使 ROR 网络应用程序正常工作,您必须使用 rails 网络服务器吗?

2) 使用PC 'A' 的远程连接直接在Raspberry Pi 上开发-> 这似乎不是那么容易。我已经在 Raspberry Pi 上安装了必要的软件,并将我的路由器配置为将在端口 3000 上收到的任何请求转发到端口 3000 上的 Raspberry Pi 服务器。即便如此,当我在端口 3000 上访问我的外部 IP 时,那里是报错说无法访问外部IP。

有人可以给我任何建议吗?

在这两个选项中,我认为第一个要容易得多。

Apache 有一个名为 Phusion Passenger (a.k.a mod_rails) 的模块,它将为您管理后端。

查看 this existing SO thread 以获得关于 Passenger 工作原理和作用的非常好的描述。

您可以观看此 railscasts,它解释了如何部署到 vps:

vps:

https://www.youtube.com/watch?v=JV636bzlO_s

或使用本指南免费部署到 heroku:

https://devcenter.heroku.com/articles/getting-started-with-rails4

来自 Neelp22 的建议和链接:

There is a module for Apache called Phusion Passenger (a.k.a mod_rails) that will manage the back end for you.

Check out this existing SO thread for a really great description of how Passenger works and what it does.

...来自 Rodrigo Zurek:

or deploy for free to heroku with this guide:

https://devcenter.heroku.com/articles/getting-started-with-rails4

...有效。我不完全确定部署 RoR 网络的复杂性不会完全否定我个人的简化开发过程,但这可能是因为我是一个爱好者而不是专业人士。尽管如此,还是感谢您的提示。