“user:hostings” 和 “nginx:nginx” 的权限问题

“user:hostings” 和 “nginx:nginx” 的权限问题

我在一台专用机器上安装了带有 nginx 的 centos 7,运行 symfony (PHP) 应用程序。每个站点都有自己的用户,在本例中,我们假设其用户为“ user”用户组中的“ ” hostings。应用程序所需的控制台命令如下运行

$ php bin/console cache:clear

在这种情况下,应用程序的文件夹/var/缓存将以“ user:hostings”所有者身份创建。

问题是,当访问者到达网站(nginx / webserver 运行应用程序)时,它通常也会在同一个目录中创建一些额外的文件/var/缓存目录,nginx:nginx所有权为“ ”。

因此,如果其中一个文件无法以另一个文件的权限进行写入,则会生成服务器 500 错误。

这里最好的方案是什么?我应该将“ nginx”用户的组更改为“ hostings”或将“ user:hostings”更改为“ user:nginx”吗?还是其他什么?

答案1

也许最好的办法是使用用户 nginx 运行 PHP 命令,以便使用 nginx:nginx 所有者创建目录。另一个选项是使用用户 nginx 但使用组托管来启动 nginx 服务。也许你应该看看如何在 Linux ubuntu 上配置 PHP CLI 以作为 www-data 运行?

相关内容