nginx如何提供图片或媒体文件?

nginx如何提供图片或媒体文件?,nginx,Nginx,我在使用nginx提供图片时遇到问题。我最初是从一个Django项目开始的,我想通过nginx为用户上传的媒体文件提供服务,但无论我做了什么尝试,都无法让它正常工作 因此,我制作了第二个临时droplet/server,并尝试在没有Django项目的情况下进行简单的设置,只使用Nginx,看看是否可以让它在名为“media”的文件夹中提供索引和几张图片。以下是服务器块: server { listen 80; listen [::]:80;

我在使用nginx提供图片时遇到问题。我最初是从一个Django项目开始的,我想通过nginx为用户上传的媒体文件提供服务,但无论我做了什么尝试,都无法让它正常工作

因此,我制作了第二个临时droplet/server,并尝试在没有Django项目的情况下进行简单的设置,只使用Nginx,看看是否可以让它在名为“media”的文件夹中提供索引和几张图片。以下是服务器块:

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

        root /var/www/example.com/html;
        index index.html;

        server_name 159.89.141.121;

        location / {
                try_files $uri $uri/ =404;
        }

        location /media/ {
                root /var/www/example.com/media;
        }

}

现在,index.html很好,但是如果我尝试转到159.89.141.121/media/testpic.jpg,它仍然不起作用,并返回404错误。我在这里完全不知所措,我尝试过使用别名而不是根,我尝试过更改文件夹结构并将所有权限设置为777,以及更改文件夹和文件所有权,权限应该不会有问题,因为index.html可以在相同权限下正常工作;我只是不知道我做错了什么。图片在文件夹中,但我尝试的任何内容都不允许我通过uri访问它。我的服务器块有任何明显的问题吗?

我决定阅读文档,并意识到位置块会添加到指定的根目录中。。 那么

`location /media/ {
                root /var/www/example.com/media;
        }` 
最终会将example.com/media/testpic.jpg路由到/var/www/example.com/media/media/testpic.jpg

我已将位置块更改为如下所示

location /images/ {
            root /var/www/example.com/media;
    }
现在它将把example.com/images/testpic.jpg路由到/var/www/example.com/media/images/testpic.jpg


我不知道为什么在我尝试alias指令时它不起作用,不过…

Nevermind,我阅读了文档并解决了它。。。啊!