ruby-on-rails – 如何在Apache或Nginx上使用Capistrano?
作者:互联网
当运行上限部署可以创建一些文件夹,如发布或共享.它们与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,nginx,apache,deployment,capistrano 来源: https://codeday.me/bug/20190729/1571073.html