当Capistrano3执行mkdir时,许可被拒绝

  发布于 2023-02-10 10:09

当我这样做时bundle exec cap production deploy,我收到了类似的错误消息mkdir: cannot create directory /usr/share/nginx/www/appname/releases/20131216155457: Permission denied

Capistrano3没有set use_sudodefault_run_options.我读到无密码sudo更好,所以我做了visudo username ALL=NOPASSWD:ALL,但我仍然遇到了同样的错误.

set :application, 'appname.com'
set :repo_url, 'git@bitbucket.org:user/myapp.git'
set :user, 'username' 
set :branch, 'master'


set :deploy_to, '/usr/share/nginx/www/appname'
set :keep_releases, 5

namespace :deploy do

 desc 'Restart application'
 task :restart do
   on roles(:app), in: :sequence, wait: 5 do
   end
 end

 after :restart, :clear_cache do
   on roles(:web), in: :groups, limit: 3, wait: 10 do
   end
 end

 after :finishing, 'deploy:cleanup'

end

有没有人就这个问题给我任何建议?谢谢您的帮助.

1 个回答
  • 尝试设置appname文件夹的组和所有者

    chown deployer:www-data -R /usr/share/nginx/www/appname

    deployer是您的部署用户,group是用户组

    2023-02-10 10:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有