代码之家  ›  专栏  ›  技术社区  ›  David Oneill

网络开发学习环境

  •  1
  • David Oneill  · 技术社区  · 14 年前

    我目前正在学习ruby on rails。我现在在笔记本电脑上做所有的开发工作。不过,我知道在所有“现实世界”的情况下,我将连接到一个专用服务器,将举行的网站。

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

    3 回复  |  直到 7 年前
        1
  •  3
  •   VP.    14 年前

    本地开发的问题是,通常情况下,您不必为基础设施操心。例如,前端web服务器,或者我们忘记在我们的开发环境中安装了哪些gem。要真正尝试模拟您的生产环境,您应该安装apache webserver+passenger(passenger是mod_rails,在apachewebserver中运行rails的模块)。

    我给你的一些提示是:安装你假装在生产中使用的同一个SQL服务器(避免使用sqlite3进行开发,并在生产中运行mysql),在开发工作站中本地使用apache+passenger,并在文档中写下你自开始你的开发(也许command gem list的输出将帮助你识别你在使用什么)。

    我喜欢做的事情是:我运行一个虚拟机(virtualbox),它运行的操作系统与我将在生产中运行的操作系统相同,带有我需要的所有必要软件,我很早就开始在我的虚拟机中进行部署。自第一次测试以来,通过这种方法,我已经知道我的应用程序将如何在生产中工作,从而避免将来出现太多意外。

    所以,归根结底:考虑一下基础设施,保持一致性,尽早部署。通过这三个步骤,您将有很好的机会成功地进行ror开发。

        2
  •  0
  •   amrnt    14 年前

    好吧,没有区别!一旦你完成了你的rails应用程序,它将完全准备好部署!Rails规则!

    可能是关于运行rails服务器的问题!因此,如果使用脚本/服务器在计算机上运行应用程序,那么在web前端服务器上必须使用类似passenger的东西。

        3
  •  0
  •   Toby Hede    14 年前

    我所有的发展都是在本地完成的。(过去我在其他环境中做过远程开发工作,但这是一个很大的痛苦……我在看你。

    本地和远程设置之间的差异可能是一个问题,但是rails和ruby为您处理了很多这方面的问题。

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

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

    对于登台和测试,我只是使用一个免费的heroku帐户来部署和检查我的工作…易于设置和提供一个可怕的健全检查。