我有一个 VPS,Centos 7,在 Windows 10 中带有 virtualbox,共享文件夹可以正常工作。这样做的目的是拥有一个与生产环境完全相同的工作场所(我有一个 VPS ramnode),其中包括 nginx 和 php-fpm。要安装,我使用以下命令:
mount -t vboxsf web -o rw,uid=996,gid=994,fmode=777,dmode=777 /var/www/web
使用上述命令,程序集将链接到名为“nginx“。我检查了一下纳美和“ls-la”. 访问是德鲁伊。
此外,我还尝试过(重复)使用以下命令强制释放访问权限:
chown -R nginx:nginx /var/www/web
chmod 777 -R /var/www/web
Nginx 和 php-fpm 在 nginx 用户下运行。但 nginx 继续发送错误“is forbidden (13: Permission denied)
“到已挂载文件夹内的任意文件。
我搜索了很长时间,甚至在这里,但我不明白访问失败的原因。我以为是 virtualbox 的问题,然后我在 windows 上安装了“FileZilla Server”,并使用 CentOS curlftpfs 挂载:
curlftpfs centos@myhost /var/www/web-o rw,uid=996,gid=994,umask=002
安装成功,但错误仍然存在。Nginx 无法访问文件。因此,得出结论,这不是 virtualbox 错误,而是 CentOS 或 nginx 本身的问题。
随着“辅助“命令,我发现 nginx 和 php-fpm 都在”下运行nginx“用户。
我还编辑了/etc/组和密码文件 /etc/passwd。我还将“nginx”用户添加到“wheel”和“vboxsf”组。我还将具有 root 权限的“vboxsf”和“nginx”组放在“/etc/sudoers“。
环境:
- 主机:Windows 10
- Virtualbox 5.0.26 r108824
- Centos 7.2
- Nginx 1.10.1
- PHP-FPM 5.6.24
- 用户 ID:996
- 群组 ID:994
如果我将 nginx 根目录配置为非 vboxsf 的另一个文件夹,则一切都会正常运行。所以我没有主意了。
有人有什么建议吗?
补充1:
为什么没有更多的想法,我再次安装了 centOS 7 Minimum,仅使用 nginx 和 vobx 客户机添加来查明是否发生冲突,但错误仍然存在。
补充2:
由于没有人提供任何建议,我安装了带有 Ubuntu 04.16 服务器的 VPS,并以与 CentOS 7 相同的方式配置了客户机添加、nginx 和 php-fpm,一切都运行正常。太神奇了!我只能得出一个结论:这个错误是 CentOS 7 的问题或与相同 vbofs 不兼容。但我需要在 CentOS 上运行它,原因无关紧要。如果有人有任何建议,我将不胜感激。