capistrano 删除缓存权限被拒绝
capistrano remove cache permission denied
我在 raspberry pi 上有一个网络服务器 (Nginx),我使用 capistrano 来部署我的网站。我是 Capistrano 的新手,但我觉得它很有趣。
我的问题是,当 Capistrano 想要删除旧版本时,它不能,因为 Nginx 已经用用户 www-data 写入缓存目录,我有一个错误:权限被拒绝!
如何解决?
希望我清楚。
一般来说,您不希望您的网络服务器写入 Capistrano 版本。否则你会运行陷入这个问题。
我会建议以下两种解决方法之一:
- 更改您的 Ngnix 配置,使其使用不同的缓存位置。例如,
/var/nginx/cache/app_name
.
- 如果缓存位置必须在应用程序内,请将该目录设为 Capistrano 中的 "shared" 目录。这将在每个版本中放置一个符号链接,指向单独位置中的单个共享目录。
例如,假设缓存被写入到你发布的根目录下的 cache
目录,你会告诉 Capistrano:
set :linked_dirs, fetch(:linked_dirs, []) << "cache"
我在 raspberry pi 上有一个网络服务器 (Nginx),我使用 capistrano 来部署我的网站。我是 Capistrano 的新手,但我觉得它很有趣。
我的问题是,当 Capistrano 想要删除旧版本时,它不能,因为 Nginx 已经用用户 www-data 写入缓存目录,我有一个错误:权限被拒绝!
如何解决?
希望我清楚。
一般来说,您不希望您的网络服务器写入 Capistrano 版本。否则你会运行陷入这个问题。
我会建议以下两种解决方法之一:
- 更改您的 Ngnix 配置,使其使用不同的缓存位置。例如,
/var/nginx/cache/app_name
. - 如果缓存位置必须在应用程序内,请将该目录设为 Capistrano 中的 "shared" 目录。这将在每个版本中放置一个符号链接,指向单独位置中的单个共享目录。
例如,假设缓存被写入到你发布的根目录下的 cache
目录,你会告诉 Capistrano:
set :linked_dirs, fetch(:linked_dirs, []) << "cache"