只是想帮助别人。是的,您只想使用 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(引擎 X)- BUM 中的痛点![13:权限被拒绝]
方式 2:将 '/root/downloads/boxes/' 所有者更改为 'www-data' 或 'nobody'
在终端:
ps aux | grep nginx
获取运行 nginx 的用户名。它应该是'www-data'或'nobody'由 nginx 的版本决定。然后点击终端(例如使用'www-data'):
chown -R www-data:www-data /root/downloads/boxes/
------------------更重要的一点是: -------------- ----------------
这些父目录"/"、"/root"、"/root/downloads"应该将执行(x)权限授予'www-data'或'nobody'。IE
ls -al /root
chmod o+x /root
chmod o+x /root/downloads
有关更多参考,请参阅解决“403 Forbidden”错误和所有文件都禁止 Nginx 403