什么,在哪里以及如何将Ruby on Rails应用程序文件上传到VPS?

时间:2011-08-01 13:03:41

标签: ruby-on-rails ruby ruby-on-rails-3 web publish

我正在使用Ruby on Rails 3.0.9,我想发布我的网站。我已经设置了我的VPS运行Ubuntu 10.04 LTS和capistrano gem(这个我认为尽可能)。现在,我需要做的是将所有文件上传到www/project_name目录(我在Mac OS上)......

我必须做些什么才能实现这一目标?

3 个答案:

答案 0 :(得分:0)

您有一半的Capistrano部署解决方案。通常Passenger用作另一半,它位于服务器上并加载您的应用程序。为此,通常使用SSH密钥。有很多关于如何设置它的教程。 Dan Benjamin撰写的我最喜欢的作品之一可以在他的博客Hivelogic上找到。

已修改以提供更多初级信息:

来自Capistrano wiki的

Capistrano begginer's指南。

来自Passenger网站的

Passenger Stand Alone Guide

准备好后,请务必查看所选网络服务器的other指南。

这些指南将为您提供获得当地乘客所需的背景信息。 Capistrano部署正在进行中。这些指南提供了实现目标所需的知识。

答案 1 :(得分:0)

您不需要部署计算机才能使用Capistrano。 Capistrano自动执行一系列任务,我建议您至少手动执行一项任务,以便了解正在发生的事情。迟早,你会调试一些Capistrano任务,所以你不妨早晚弄清楚胆量。

粗略地说,您需要做的是基本上在生产机器上复制您的开发环境。如果您拥有版本控制权,则可以在生产计算机上git clonesvn whateveritis。如果没有,您可以使用scp /local/rails/dir remoteuser@remotehost:www/projectname进行搜索。

此时,您应该在服务器上执行剩余的工作。既然你已经设法安装了Capistrano,我认为你已经熟悉了绕过SSH的基础知识。

代码结束后,您必须安装先决条件。如果你使用3.0.9,你应该能够运行bundle install --deployment,其中部署标志基本上告诉bundler使用与开发机器上相同的gem集。

完成后,实际上将服务器联机将根据您的设置而有所不同。如果您使用非独立乘客,请在此处按照许多指南中的任何一个进行操作。如果您正在运行独立乘客或瘦或独角兽或任何其他独立的rails服务器,请继续以守护进程模式启动(因此当您结束SSH会话时它不会退出)并确保您获得生产标志。您既可以在sudo中启动它,也可以在端口80上监听(例如sudo thin start -d -p 80),或者让它在更高编号的端口上侦听,并在面向WWW的服务器上使用反向代理。关于如何反向代理的说明遍布互联网。

如果您有任何问题,请与我们联系。

答案 2 :(得分:0)

通过SSH http://alexeypetrushin.github.com/vfs/ssh_deployment.html

进行简单和简短的部署示例