ruby-on-rails – 如何在Apache或Nginx上使用Capistrano?

当运行上限部署可以创建一些文件夹,如发布或共享.它们与Apache或Nginx的服务器根之间的关系是什么?这个方法对吗?(这是一个Nginx配置)server {listen 80;server_name www.yourhost.com;root /releases/...; # Wh...

当运行上限部署可以创建一些文件夹,如发布或共享.它们与Apache或Nginx的服务器根之间的关系是什么?

这个方法对吗?(这是一个Nginx配置)

server {
  listen 80;
  server_name www.yourhost.com;
  root /releases/...;   # Which path to be here???
  passenger_enabled on;
}

而且,运行cap部署后,web服务器可以自动重启吗?

解决方法:

部署时,capistrano在releases文件夹中创建一个文件夹,然后将该文件夹符号链接到/ your_app / current.

由于您向公众公开的rails应用程序部分是公用文件夹,因此您需要将nginx配置中的root设置为:

root /path_to_your_app/current/public; 

每次部署时,将有效地从源刷新当前内容,任何未提交到源控件的数据都将丢失,这就是共享文件夹的来源.共享文件夹将包含不会出现的内容.在版本控制中,但您不希望丢失每个部署 – 应用程序日志,上载的图像等.

以下是如何使用共享文件夹进行上传的一个很好的示例:http://www.simonecarletti.com/blog/2009/02/capistrano-uploads-folder/

可以使用deploy.rb中的以下任务重新启动Web服务器:

namespace :deploy do
  task :restart do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

Phusion乘客监视此文件,并在创建时触发重启.

本文标题为:ruby-on-rails – 如何在Apache或Nginx上使用Capistrano?