我只是想帮助别人。是的,你只是想使用nginx来提供静态文件,并且在nginx.conf中已经做好了一切:
location /static {
autoindex on;
#root /root/downloads/boxes/;
alias /root/downloads/boxes/;
}
但是,最终你失败了。你的浏览器显示“403禁止访问”...
----------------------------------------以下是答案:----------------------------------------
解决方法非常简单:
方法1:以 '/root/downloads/boxes/' 的所有者身份运行nginx
在nginx.conf中:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
是的,在第一行中"#user noboy;",只需删除"#",并将"nobody"更改为Linux/OS X中您自己的用户名,例如测试时更改为"root"。重新启动nginx。
注意:最好不要以root身份运行nginx!这里仅用于测试,对黑客来说是危险的。
更多参考,请参见nginx (engine X) – What a Pain in the BUM! [13: Permission denied]
方法2:将'/root/downloads/boxes/'所有者更改为'www-data'或'nobody'
在终端中:
ps aux | grep nginx
获取正在运行的nginx的用户名。它应该是由nginx版本确定的'www-data'或'nobody'。然后在终端中输入以下命令(以'www-data'为例):
chown -R www-data:www-data /root/downloads/boxes/
------------------------------还有一件重要的事情需要注意:------------------------------
这些父级目录"/"、"/root"、"/root/downloads"应该授予'www-data'或'nobody'执行(x)权限。即:
ls -al /root
chmod o+x /root
chmod o+x /root/downloads
/var/log/nginx/
),您可以在其中找到更多信息,例如检查错误和访问日志。顺便说一句,也许你应该在我的答案下发表评论,而不是在你的问题下。 - gitaarik