使用 nginx 网络服务器提供文件服务

使用 nginx 网络服务器提供文件服务

你好,我有一个静态文件(虚拟机中 /song 目录下的 song.mp3),我想/song使用 nginx Web 服务器在路径下提供该文件。如果有人在浏览器中访问该路径,则该文件应该开始下载。

我在配置文件中添加了以下信息

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location /song {
        root /song/song.mp3;
    }
}

但是当我启动 nginx 服务并使用该路径时,http://localhost/song它会抛出 404 not Found。有什么提示可以说明是什么原因造成的吗?

答案1

您好,您可以尝试以下操作

server
{
    listen 80;
    listen [::]:80;
    server_name localhost;

    location /
    {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }

    location /song/
    {
        try_files $uri /song/$uri;
    }
}

尝试使用try_files。 这$uri将映射 /song/ 目录和 /song/ & 当你点击 url 时http://localhost/song/song.mp3它将开始下载。

还要确保歌曲.mp3存在于/usr/share/nginx/html/song文件夹中。

相关内容