sup*_*777 3 apache deployment capistrano ruby-on-rails nginx
运行时cap deploy可以创建一些文件夹,如发布或共享.那么它们与Apache或Nginx服务器根目录之间的关系是什么?
这个方法对吗?(这是一个Nginx配置)
server {
listen 80;
server_name www.yourhost.com;
root /releases/...; # Which path to be here???
passenger_enabled on;
}
Run Code Online (Sandbox Code Playgroud)
而且,运行后cap deploy,web服务器可以自动重启吗?
部署时,capistrano会在releases文件夹中创建一个文件夹,然后将该文件夹符号链接到/your_app/current.
由于您向公众公开的rails应用程序部分是public文件夹,因此您需要将nginx配置中的根目录设置为:
root /path_to_your_app/current/public;
Run Code Online (Sandbox Code Playgroud)
每次部署current都会有效地从源代码刷新内容,任何未提交给源代码控制的数据都将丢失,这就是共享文件夹的来源.共享文件夹将包含不会出现的内容.版本控制,但您不希望丢失每个部署 - 应用程序日志,上载的图像等.
以下是如何使用共享文件夹上传的一个很好的示例: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
Run Code Online (Sandbox Code Playgroud)
Phusion乘客监视此文件,并在创建时触发重启.
| 归档时间: |
|
| 查看次数: |
1385 次 |
| 最近记录: |