我的环境

我的环境

我在 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

相关内容