环境:
CentOS7.5 + Nginx1.16 + PHP7.2.17已搭好一切,运行正常,phpinfo(); 输出正常。现准备新开一个网站,由于本机服务器的磁盘空间不足,便挂载同一局域网内的另一台服务器的共享文件夹,用于新网站的根目录。于是:mount -t nfs 10.x.x.xxx:/dev/db4/test /mnt/test # 这条命令是成功执行的。且在本机上是可以列出/mnt/test 目录下的文件,且具有读写权限。并设置为开机自动挂载,一切正常!!那问题来了。。在 NGINX 的 配置文件里将网站根目录指向本机的 /mnt/test ,也就是同一局域网内的另一台服务器的共享文件夹,并在此目录下有一个 index.php 的文件,是phpinfo();的,无论修改什么,访问网站都永远是 403 错误,curl 127.0.0.1 得到的不是phpinfo(); 而是得到如下:[root@server ~]# curl 127.0.0.1
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.16.0</center>
</body>
</html>然后,umount 后,在/mnt/test 下新建一个 index.php,是phpinfo(); 则可以显示相应的 内容。。
请高手解答!!!
CentOS7.5 + Nginx1.16 + PHP7.2.17已搭好一切,运行正常,phpinfo(); 输出正常。现准备新开一个网站,由于本机服务器的磁盘空间不足,便挂载同一局域网内的另一台服务器的共享文件夹,用于新网站的根目录。于是:mount -t nfs 10.x.x.xxx:/dev/db4/test /mnt/test # 这条命令是成功执行的。且在本机上是可以列出/mnt/test 目录下的文件,且具有读写权限。并设置为开机自动挂载,一切正常!!那问题来了。。在 NGINX 的 配置文件里将网站根目录指向本机的 /mnt/test ,也就是同一局域网内的另一台服务器的共享文件夹,并在此目录下有一个 index.php 的文件,是phpinfo();的,无论修改什么,访问网站都永远是 403 错误,curl 127.0.0.1 得到的不是phpinfo(); 而是得到如下:[root@server ~]# curl 127.0.0.1
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.16.0</center>
</body>
</html>然后,umount 后,在/mnt/test 下新建一个 index.php,是phpinfo(); 则可以显示相应的 内容。。
请高手解答!!!
# 编辑文件 /etc/fstab ,添加如下一行,保存后重启(id信息可以通过终端中的id命令查看)
//10.1.1.100/home/ /media/smbfs cifs defaults,username=xxx,password=yyy,uid=uid,gid=gid 0 0 //有密码的samba共享//10.1.1.100/home/ /media/smbfs cifs defaults,guest 0 0 //无密码的samba共享
/dev/db4 设备下哪里来的 test文件夹 ?
嗯,,对,,,,这个命令是为了不泄露我的信息,特地修改为这样的,实际的命令是可以正确执行的。。具体就不写了。。贴上 error.log 相应的敏感信息还是会隐藏一下的。。请谅解[root@server nginx]# cat /usr/local/nginx/error.log
2019/05/24 09:15:08 [notice] 5300#5300: signal process started
2019/05/24 09:37:36 [notice] 5354#5354: signal process started
2019/05/24 09:37:44 [error] 5358#5358: *1 "/mnt/test/index.php" is forbidden (13: Permission denied), client: 10.x.xxx.xx, server: localhost, request: "GET / HTTP/1.1", host: "10.x.x.xxx"
2019/05/24 09:37:47 [error] 5358#5358: *1 "/mnt/test/index.php" is forbidden (13: Permission denied), client: 10.x.xxx.xx, server: localhost, request: "GET / HTTP/1.1", host: "10.x.x.xxx"
2019/05/24 09:37:47 [error] 5358#5358: *1 "/mnt/test/index.php" is forbidden (13: Permission denied), client: 10.x.xxx.xx, server: localhost, request: "GET / HTTP/1.1", host: "10.x.x.xxx"
2019/05/24 09:37:47 [error] 5358#5358: *1 "/mnt/test/index.php" is forbidden (13: Permission denied), client: 10.x.xxx.xx, server: localhost, request: "GET / HTTP/1.1", host: "10.x.x.xxx"
2019/05/24 10:01:32 [error] 3866#3866: *1 "/mnt/test/index.php" is forbidden (13: Permission denied), client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "127.0.0.1"
2019/05/24 11:16:45 [error] 3866#3866: *2 "/mnt/test/index.php" is forbidden (13: Permission denied), client: 10.x.xxx.xx, server: localhost, request: "GET / HTTP/1.1", host: "10.x.x.xxx"-----------------------------------------------
其中 10.x.x.xxx 和 10.x.xxx.xx 确定是网段可以互通的。。
这个 cifs 的方式,我试过无法挂载另一台Linux 服务器的 共享文件夹。可能是我不会弄吧。。不过,我安装了相关软件后,可以通过:smbclient -L 10.x.x.xxx -U user%pass 列出目标服务器的相应共享明细。。
在nfs服务器10.x.x.xxx上,修改一下exports参数,/dev/db4/test *(rw,sync,no_subtree_check,no_root_squash)
测试一下如果还不行,给/dev/db4/test设置成777看看有没有效果。