我使用 Ubuntu Server 10.10,并安装了 Nginx 网络服务器apt-get install nginx
。它在 处创建一个默认网页,/var/www/nginx-default/
并且该目录具有权限drwxr-xr-x 2 root root
。
当我访问默认站点时,http://localhost/
页面上会出现此消息403 Forbidden
。
我应该如何设置 www 根目录上的文件权限,以便可以安全地访问网页?还是我需要更改其他内容?
答案1
我建议将您的 webroot 的组更改为www-data
nginx 和 php5-fpm 使用的用户。
例如:
sudo chown -R "$USER":www-data /webdirectory
sudo chmod -R 0755 /webdirectory
其中 my-user 是您自己的帐户(这使您可以轻松地将文件放在您的 webroot 中,而无需 sudo)。
答案2
我通常坚持在我的 Web 根目录上使用755
(或rwxr-xr-x
),但我不认为这是您遇到的问题,因为您的目录已经设置为该目录。 nginx
应该有权访问您的目录。然后问题就变成了您尝试访问的文件的权限(或存在性)。目录中的文件需要由nginx
正在运行的用户读取。我通常将这些文件设置为755
(与目录相同)。您可以通过执行 来更改整个目录sudo chmod -R 755 /var/www/nginx-default/
。
但是,如果目录中没有索引文件,您仍然会收到相同的错误。当您请求未启用目录列表的目录时,将使用索引文件。最常见的索引文件是index.html
。但是,您可以在配置中编辑此默认值,使用以下命令:
location / {
index index.php;
}
如果你想nginx
为你生成该目录中的文件列表,只需打开目录索引,像这样:
location / {
autoindex on;
}