这本身不是 Joomla 问题,因为我认为这更多的是与 NGINX 相关的权限问题。这是在尝试设置 Joomla 时遇到的。请阅读下文,但经过测试,我认为这更多是 NGINX 问题。
我有一个运行 NGINX 的专用主机,并将目录权限设置为 755,将现有文件权限设置为 744。我无法通过管理面板将文件上传到媒体库或创建文件夹。
某些网络根目录的权限
-rw-r--r--. 1 nginx nginx 1892 Dec 29 11:21 configuration.php
-rw-r--r--. 1 nginx nginx 2915 Dec 24 10:51 htaccess.txt
drwxr-xr-x. 5 nginx nginx 4096 Dec 30 11:33 images
drwxr-xr-x. 2 nginx nginx 61 Dec 24 10:51 includes
如您所见,nginx 是文件夹 images 的所有者。在我的/etc/nginx/nginx.conf
文件中,有以下行:
user nginx;
因此 Joomla 应该以对目录图像具有写入权限的用户身份运行。我显然错过了一些东西......
为了进行测试,我将权限更改为 777,并且能够创建一个目录。令我惊讶的是......
drwxr-xr-x. 2 apache apache 23 Dec 30 11:46 asdf
drwxr-xr-x. 2 nginx nginx 4096 Dec 24 10:51 banners
drwxr-xr-x. 2 nginx nginx 104 Dec 24 10:51 headers
为什么我安装了 NGINX 后却出现了 apache 用户?我问为我托管该网站的朋友是否安装了 Apache,他说没有。无论如何我跑了这个但什么也没得到
sudo yum list installed | grep apache
答案1
看起来像一个小橡皮鸭调试帮我解决了这个问题。我检查了
ps aux | grep apache
并发现 php-fpm 池实际上配置为以 apache 运行。快速研究让我回到这里如何将 php-fpm 的用户设置为 php-user 而不是 www-data?。使用该信息,我可以编辑 /etc/php-fpm.d/ 中的 www.conf 文件
user = nginx
group = nginx
快速更改并重新启动 php-fpm 服务,我就恢复正常了。