gpt4 book ai didi

ruby-on-rails - capistrano deploy_symlink 失败

转载 作者:行者123 更新时间:2023-12-01 11:07:30 25 4
gpt4 key购买 nike

这是我的第一次部署。我做了一个上限 deploy:setup,效果很好。

然后,当我尝试执行 cap deploy:update 时,我遇到了错误消息。类似

的东西
rm: cannot remove `/var/www/app_name/current': Is a directory

这是我的 capfile 和目录权限。

http://pastie.org/1189919

一般来说,就部署用户和权限而言,最佳做法是什么?我应该使用 root 还是创建其他用户。如果是不同的用户,它需要什么确切的权限?

谢谢

最佳答案

您是在 /var/www/app_name 中创建的目录,还是由 capistrano 创建的?

无论如何,您遇到的问题是 /var/www/app_name/current 不应该是目录 - 它应该是 /var/www/中当前版本的符号链接(symbolic link)app_name/releases/.当 capistrano 在 /var/www/app_name/releases/ 中完成创建新的发布文件夹,并尝试符号链接(symbolic link) /var/www/app_name/current 时,会导致失败> 到它。

您可以通过重命名 /var/www/app_name/current 来解决您的问题(这样在出现问题时您就有一个备份),并从 /var 创建一个符号链接(symbolic link)/www/app_name/current/var/www/app_name/releases/ 中的最新版本,然后执行 cap deploy。 (如果可行,请删除当前的备份)。

就最佳实践而言,无论您做什么,都不要使用 root。相反,设置一个仅对所需目录具有权限的用户(或使用现有用户)(没有仔细阅读您的脚本,但可能只是 /var/www/app_name

关于ruby-on-rails - capistrano deploy_symlink 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3825928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com