我正在使用Ruby on Rails 3.0.9,我想发布我的网站。我已经设置了我的VPS运行Ubuntu 10.04 LTS和capistrano gem(这个我认为尽可能)。现在,我需要做的是将所有文件上传到www/project_name
目录(我在Mac OS上)......
我必须做些什么才能实现这一目标?
答案 0 :(得分:0)
您有一半的Capistrano部署解决方案。通常Passenger用作另一半,它位于服务器上并加载您的应用程序。为此,通常使用SSH密钥。有很多关于如何设置它的教程。 Dan Benjamin撰写的我最喜欢的作品之一可以在他的博客Hivelogic上找到。
已修改以提供更多初级信息:
来自Capistrano wiki的 来自Passenger网站的准备好后,请务必查看所选网络服务器的other指南。
这些指南将为您提供获得当地乘客所需的背景信息。 Capistrano部署正在进行中。这些指南提供了实现目标所需的知识。
答案 1 :(得分:0)
您不需要部署计算机才能使用Capistrano。 Capistrano自动执行一系列任务,我建议您至少手动执行一项任务,以便了解正在发生的事情。迟早,你会调试一些Capistrano任务,所以你不妨早晚弄清楚胆量。
粗略地说,您需要做的是基本上在生产机器上复制您的开发环境。如果您拥有版本控制权,则可以在生产计算机上git clone
或svn 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
进行简单和简短的部署示例