导致mkdir权限的Capistrano配置被拒绝

时间:2017-12-13 09:46:50

标签: ruby-on-rails capistrano

在针对特定应用程序的服务器执行deploy时,该过程在此阶段中断

 DEBUG [88db4789] Command: ( export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.4" ; /usr/bin/env mkdir -p /var/www/v4/shared /var/www/v4/releases )

 DEBUG [88db4789]   mkdir:

 DEBUG [88db4789]   cannot create directory ‘/var/www’

 DEBUG [88db4789]   : Permission denied

注意:这仅适用于此特定应用程序。另一个部署到此阶段的同一服务器进程的应用程序

我试图更改所有权as suggested here,但失败了

chown: cannot access ‘/var/www/’: No such file or directory

所以我被引导相信配置问题是罪魁祸首。除了环境数据

server 'xx.xxx.xxx.xxx', user: 'deploy', roles: %w{db web app}

我错过了什么?

2 个答案:

答案 0 :(得分:0)

您的服务器实例没有文件夹/var/www,因此您可以通过ssh手动执行该用户deploy,然后尝试自行制作文件夹。

我认为由于您的deploy用户没有/var文件夹的权限,它会再次失败。尝试按照必须遵循的指南更改所有权。

答案 1 :(得分:0)

虽然yeuem1vannam的回答是有效的,但这个用例在y文件中实际上有一个不同的问题。其中指定的路径在用户名中有错误,因此在部署时创建文件夹的权限错误。