NGINX + PHP5-FPM + DEPLOY - 文件权限

时间:2015-10-02 09:07:12

标签: php nginx deployment ssh debian

我的服务器有 Nginx PHP5-FPM

我正在使用此配置在fpm池中运行1个进程:

user = php-site
group = www-site

listen = /var/run/php5-fpm_web.sock

listen.owner = php-site
listen.group = www-site
listen.mode = 0666

我有这些用户: - www-site(群组:www-site) - php-site(群组:www-site) - deploy(groups:deploy,www-site)

部署用户只有SSH访问权限(composer,git deploy等)。

问题在这里,我的应用程序在缓存文件夹中创建缓存文件。缓存文件夹有 0775 (部署:www-site),但 cache / template / file.cache 0644 (php-site:www-现场)。当我想要清除此缓存文件夹时,我rm -rf cache/*已收到Permission denied

我该怎么解决?如果php5-fpm会创建带有掩码 0666 的文件,那么一切都会好起来的。

1 个答案:

答案 0 :(得分:0)

可能的方法:

1)将umask添加到基本PHP脚本(index.php

2)将umask添加到php5-fpm个人资料,主进程或单个人

3)将umask添加到你的unix用户,php5-fpm或nginx运行的用户(http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html