gpt4 book ai didi

ubuntu - Nginx:stat() 失败(13:权限被拒绝)

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:06 25 4
gpt4 key购买 nike

我正在使用默认配置,同时在我的 ubuntu 12.04 机器上添加安装了 nginx 的特定目录。

server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6

index index.html index.htm;

# Make site accessible from http://localhost/
server_name localhost;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
root /username/test/static;
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
...

...
}

我只想要一个简单的静态 nginx 服务器来提供该目录外的文件。但是,检查我看到的 error.log

2014/09/10 16:55:16 [crit] 10808#0: *2 stat() "/username/test/static/index.html" failed (13: Permission denied), client:, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "domain"
2014/09/10 16:55:16 [error] 10808#0: *2 rewrite or internal redirection cycle while internally redirecting to "/index.html

我已经在 /username/test/static 上完成了 chown -R www-data:www-data,我已经将它们设置为 chmod 755。我不知道还需要设置什么。

最佳答案

Nginx 在该目录内运行,因此如果您不能从 nginx 用户cd 到该目录,那么它将失败(就像您日志中的 stat 命令一样).确保 www-user 可以一直cd/username/test/static。您可以通过运行确认 stat 将失败还是成功

sudo -u www-data stat /username/test/static

在您的情况下,/username 目录可能是这里的问题。通常 www-data 没有权限 cd 到其他用户的主目录。

在这种情况下,最好的解决方案是将 www-data 添加到 username 组:

gpasswd -a www-data username

并确保username组可以进入路径中的所有目录:

chmod g+x /username && chmod g+x /username/test && chmod g+x /username/test/static

为了使您的更改生效,请重新启动 nginx

nginx -s reload

关于ubuntu - Nginx:stat() 失败(13:权限被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25774999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com