我在 ubuntu 13.10 上的 nginx 设置中遇到了这个问题,我在本地域的日志中收到了这些奇怪的错误
2014/04/06 21:29:37 [crit] 18065#0: *3 stat() "/media/user/Backup/Sites/sp/" failed (13: Permission denied), client: 127.0.0.1, server: sp.local, request: "GET / HTTP/1.1", host: "sp.local"
2014/04/06 21:29:37 [crit] 18065#0: *3 stat() "/media/user/Backup/Sites/sp/" failed (13: Permission denied), client: 127.0.0.1, server: sp.local, request: "GET / HTTP/1.1", host: "sp.local"
2014/04/06 21:29:37 [crit] 18065#0: *3 stat() "/media/user/Backup/Sites/sp/index.php" failed (13: Permission denied), client: 127.0.0.1, server: sp.local, request: "GET / HTTP/1.1", host: "sp.local"
在升级到 13.10 版本之前,此配置可以正常工作
此文件夹的权限为:755,并且 php fpm 错误日志中没有记录日志
我尝试了所有办法来修复它,但没有成功,您能否建议/帮助我,我将不胜感激,
谢谢
更新:
- 我没有使用 SElinux
- 文件位于非加密驱动器中
- nginx 安装在加密驱动器上
/
,这是问题吗?
相关挂载点:
/dev/sda3 on /media/tawfek/Backup type ext4 (rw,nosuid,nodev,uhelper=udisks2)
ls -l 输出:
total 712
drwsr-xr-x 6 tawfek tawfek 4096 Apr 6 21:26 app
drwsr-xr-x 8 tawfek tawfek 4096 Apr 6 21:26 downloader
drwsr-xr-x 3 tawfek tawfek 4096 Apr 6 21:25 errors
drwsr-xr-x 2 tawfek tawfek 4096 Apr 6 21:26 includes
drwsr-xr-x 15 tawfek tawfek 4096 Apr 6 21:25 js
drwsr-xr-x 13 tawfek tawfek 4096 Apr 6 21:25 lib
drwsr-xr-x 13 tawfek tawfek 4096 Apr 6 21:26 media
drwsr-xr-x 3 tawfek tawfek 4096 Apr 6 21:25 nbproject
drwsr-xr-x 2 tawfek tawfek 4096 Mar 8 13:10 pear
drwsr-xr-x 2 tawfek tawfek 4096 Apr 6 21:25 pkginfo
drwsr-xr-x 2 tawfek tawfek 4096 Apr 6 21:25 shell
drwsr-xr-x 5 tawfek tawfek 4096 Apr 6 21:25 skin
drwsr-xr-x 11 tawfek tawfek 4096 Apr 6 21:25 var
-rwxr-xr-x 1 tawfek tawfek 2834 Feb 1 11:39 api.php
-rwxr-xr-x 1 tawfek tawfek 2831 Feb 1 11:39 cron.php
-rwxr-xr-x 1 tawfek tawfek 716 Mar 24 22:38 cron.sh
-rwxr-xr-x 1 tawfek tawfek 1150 Feb 1 11:39 favicon.ico
-rwxr-xr-x 1 tawfek tawfek 5979 Feb 1 11:39 get.php
-rwxr-xr-x 1 tawfek tawfek 2673 Apr 6 22:17 index.php
-rwxr-xr-x 1 tawfek tawfek 2366 Feb 1 11:39 index.php.sample
-rwxr-xr-x 1 tawfek tawfek 6441 Feb 1 11:39 install.php
-rwxr-xr-x 1 tawfek tawfek 10421 Feb 1 11:39 LICENSE_AFL.txt
-rwxr-xr-x 1 tawfek tawfek 10679 Feb 1 11:39 LICENSE.html
-rwxr-xr-x 1 tawfek tawfek 10410 Feb 1 11:39 LICENSE.txt
-rwxr-xr-x 1 tawfek tawfek 1319 Feb 1 11:39 mage
-rwxr-xr-x 1 tawfek tawfek 886 Feb 1 11:39 php.ini.sample
-rwxr-xr-x 1 tawfek tawfek 478 Feb 17 19:08 php.php
-rwxr-xr-x 1 tawfek tawfek 585086 Feb 1 11:39 RELEASE_NOTES.txt
答案1
我不知道我的解决方案是否有效,只是尝试一下。
可能是你的 nginx 版本已过时。
# apt-cache policy nginx
nginx:
Installed: 1.4.1-3ubuntu1.3
Candidate: 1.5.12-1+saucy0
Version table:
1.5.12-1+saucy0 0
500 http://ppa.launchpad.net/nginx/development/ubuntu/ saucy/main amd64 Packages
*** 1.4.1-3ubuntu1.3 0
500 http://security.ubuntu.com/ubuntu/ saucy-security/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu/ saucy-updates/universe amd64 Packages
100 /var/lib/dpkg/status
1.4.1-3ubuntu1 0
500 http://archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
要安装最新版本,您需要添加Nginx 团队 PPA
sudo add-apt-repository ppa:nginx/development
sudo apt-get update
sudo apt-get upgrade
如果不起作用,该问题将在即将发布的下一个 Ubuntu 版本(14.04)中得到解决(4 月 17 日)。
可能是 Nginx 希望 的所有者/media/user/Backup/Sites/sp/
是www-data
。要更改:
sudo chown -R www-data:www-data /media/user/Backup/Sites/sp/
如果其中一个解决方案有效,请回复哪一个。
答案2
经过大量的搜索却无功而返,我备份了我的数据,从驱动器中删除了加密并恢复了我的数据,一切都按预期进行
请注意这encryptfs
就是问题所在,我无法给出详细/技术解释,但已经解决了它
答案3
在 Ubuntu 14.04 里,你将 nginx 的根目录 (Apache 的 DocumentRoot) 指向/媒体/用户名/底下也会产生此问题,所以稍后在改载其它公路路径以避免此问题。
如果我们将 nginx 的根目录(如 Apache 的 DocomentRoot)设置为/media/用户名在 Ubuntu 14.04 上,我们会遇到一些问题,因此我的解决方案是挂载其他路径来解决问题。
我的环境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
$ nginx -v
nginx version: nginx/1.6.2
$ ls -l /media/
total 8
drwxr-xr-x 19 jonny jonny 4096 Sep 25 18:17 data
drwxr-xr--+ 3 jonny jonny 4096 Sep 23 17:01 jonny