Ruby on rails 将Ruby on Rails应用程序文件上载到VPS的内容、位置和方式?

Ruby on rails 将Ruby on Rails应用程序文件上载到VPS的内容、位置和方式?,ruby-on-rails,ruby,ruby-on-rails-3,web,publish,Ruby On Rails,Ruby,Ruby On Rails 3,Web,Publish,我正在使用RubyonRails3.0.9,我想发布我的网站。我已经将VPS设置为运行Ubuntu10.04LTS和CapistranoGem(我认为这是一个尽可能好的版本)。现在,我需要做的是将所有文件上传到www/project\u name目录(我在Mac OS上) 要做到这一点,我必须做些什么?您有一半的Capistrano部署解决方案。通常用作另一半,它位于服务器上并加载您的应用程序。为此,通常使用SSH密钥。有很多关于如何设置的教程。丹·本杰明写的我最喜欢的作品之一可以在他的博客上找

我正在使用RubyonRails3.0.9,我想发布我的网站。我已经将VPS设置为运行Ubuntu10.04LTS和CapistranoGem(我认为这是一个尽可能好的版本)。现在,我需要做的是将所有文件上传到
www/project\u name
目录(我在Mac OS上)


要做到这一点,我必须做些什么?

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

编辑以提供更多信息:

来自Capistrano wiki的指南

从乘客网站

准备好后,请务必查看所选Web服务器的指南


这些指南将为您提供当地乘客和Capistrano部署所需的背景信息。这些指南提供了实现您想要的目标所需的知识。

您不需要部署计算机就可以拥有Capistrano。Capistrano自动执行一系列任务,我建议您至少手动执行一项任务,以便了解发生了什么。迟早,您将调试一些Capistrano任务,因此您可能迟早会弄明白其中的含义

粗略地说,您需要做的是基本上在生产机器上复制您的开发环境。如果您在版本控制上有它,您可以在您的生产机器上
git clone
svn whateveritis
。如果没有,您可以使用
scp/local/rails/dir来完成它remoteuser@remotehost:www/projectname

此时,您实际上应该在服务器上完成剩余的工作。既然您已经安装了Capistrano,我想您已经熟悉了SSH的基本知识

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

完成后,实际使服务器联机将根据您的设置而有所不同。如果您使用的是非独立乘客,只需遵循这一点上的许多指南中的任何一个。如果您正在运行standalone passenger、thin、unicorn或任何其他独立rails服务器,请继续并在守护进程模式下启动该服务器(以便在您结束SSH会话时不会退出),并确保使用生产标志。您可以在sudo中启动它并让它在端口80上侦听(例如,
sudo瘦start-d-p80
),或者让它在更高的端口上侦听,并在面向WWW的服务器上使用反向代理。互联网上到处都有关于如何反向代理的说明


如果您有任何问题,请告诉我。

通过SSH部署的简单而简短的示例

但是通过使用capistrano,我可以上传我的应用程序文件吗?或者我必须使用类似Filezilla的东西吗?您可以通过SSH完成这一点。我的回答中的Hivelogic链接将引导您完成为部署设置ap的过程。另外,Capistrano和Passenger的文档都详细说明了如何使用SSH进行部署。。。我几乎完成了我的应用程序,我想在我的VPS上测试\上传,但有很多困难!RubyonRails在这个问题上非常复杂(对我来说)。首先,你必须了解你的工具。我从一开始就用Capistrano更新了我的答案,该指南解释了使用Capistrano的内容和原因。使用Capistrano,我在VPS上创建了“project\u name/current/public”目录,我应该将RoR应用程序的所有“public”文件放在该目录中。是吗然后,如果我使用capistrano创建了“releases”和“shared”目录,我还必须上传“project_name”文件夹中所有剩余的应用程序文件吗然后,我应该在本地机器上运行VPS托管服务提供的终端\控制台中的所有命令?我想重申,我个人不鼓励在现阶段使用Capistrano,直到您基本了解Capistrano的功能。但是,如果必须使用Capistrano,则永远不必使用VPS上的终端。使用Capistrano,您只需调整配方(config/deploy.rb)以适应VPS,然后运行
cap deploy
,就完成了。