Web开发学习环境

时间:2010-04-24 23:25:46

标签: ruby-on-rails

我目前正在学习Ruby on Rails。我目前在笔记本电脑上进行所有开发。但是,我知道在所有“真实世界”的情况下,我将连接到一个专用服务器来保存该站点。

所以这就是我的问题:在我使用的机器上开发和在单独的服务器上运行网站有什么优缺点?

3 个答案:

答案 0 :(得分:3)

本地开发的问题在于,通常您不必担心基础架构。例如前端网络服务器或我们忘记在我们的开发环境中安装了哪些宝石。要真正尝试模拟您的生产环境,您应该安装apache webserver + Passenger(乘客是mod_rails,一个在apache webserver中运行rails的模块)。

我给你的一些提示是:安装你假装在生产中使用的相同的sql server(避免使用sqlite3开发并投入生产运行mysql),在开发工作站本地使用apache + passenger并写入自开始开发以来您安装的每个GEM文档(可能命令gem list的输出将帮助您识别您正在使用的内容)。

我喜欢做的事情是:我运行一个运行我将在生产中运行的相同操作系统的虚拟机(虚拟机),以及我需要的所有必需品软件,并且我很早就开始在虚拟环境中进行部署机。自第一次测试以来,我已经知道我的应用程序将如何在生产中运行,避免将来出现太多意外。

所以在底线:考虑基础设施,保持一致性并尽早部署。通过这3个步骤,您将有机会成功完成RoR开发。

答案 1 :(得分:0)

嗯,没有差异!完成rails应用程序后,它就可以完全部署了! Rails规则!

也许是关于运行rails服务器问题!因此,如果您使用脚本/服务器在您的计算机上运行您的应用程序,那么在Web前端服务器上您必须使用像Passenger这样的东西。

答案 2 :(得分:0)

我在本地进行所有开发。 (我过去在其他环境中做过远程开发工作,但这是一个彻头彻尾的痛苦...... J2EE我在看着你。)

本地和远程设置之间的差异可能是一个问题,但Rails和Ruby会为您处理很多这样的事情。

我使用RVM (Ruby Version Manager)来设置具有反映我的目标部署的特定Ruby和GEM版本的环境。您可以使用闪亮的新Gem Bundler来创建应用程序依赖项的清单。

我还建议在本地使用与部署环境相同的数据库。 DB之间存在微妙的差异,可能会让您失望。对于简单系统而言,这不是一个问题,但是一旦您开始跨多个模型进行复杂查询或使用聚合函数,您就可以在远程服务器上进行调试。

对于暂存和测试,我只是使用一个免费的Heroku帐户来部署和检查我的工作......易于设置并提供了一个很棒的理智检查。