问题
带有 NGINX 的服务器有一个目录,其中包含需要通过 HTTP 提供服务的文件。
该目录位于(示例):/media/user/data
题
NGINX 需要什么配置才能通过 HTTP 为该目录(及其所有文件和子文件夹)提供服务?
通过 HTTP 提供的目录必须是完全可访问的,并且任何用户都应该能够浏览目录的所有内容。
需要配置的所有步骤。
研究
对该主题的研究发现文件夹内sites-available
目录中的默认文件需要更改/etc/nginx
,如下所示:
location /data {
root /media/user/;
autoindex on;
}
}
Run Code Online (Sandbox Code Playgroud)
其他
从最近的评论到建议的答案:
编辑sites-available中的默认文件以包含该目录,然后通过访问显示标准nginx祝贺页面的127.0.0.1重新启动服务器并验证其能够提供服务。然后当尝试访问 http://127.0.0.1/data 时,服务器产生了 403 Forbidden 错误。– 节俭的葡萄干
Tub*_*ess 14
您可以通过编辑现有的 Nginx 虚拟主机(您提到的默认主机)来实现这一点。只要确保 /media/user/data 目录和该目录中的所有内容都可以被 Nginx 服务下的用户读取(最有可能是“nginx”用户)。
如果你想在不同的(子)域下托管这些文件,你可以创建新的 Nginx 虚拟主机,内容如下:
server {
listen *:80;
server_name example.com www.example.com;
root /media/user/data;
autoindex on;
}
Run Code Online (Sandbox Code Playgroud)
更新:从下面的评论中,还需要修改目录权限,以便 Nginx 可以提供内容而不是返回403 forbiden
错误。
虽然权限/media/user/data/
目录是好的,/media/
而/media/user/
目录中缺少可执行权限。问题通过以下命令解决:
sudo chmod o+x /media/ /media/user/
归档时间: |
|
查看次数: |
32738 次 |
最近记录: |