无法在服务器上提供静态内容"images" - nginx ubuntu



我试图从服务器上的某个位置提供映像,而不是将它们放在我的部署目录下,即部署应用程序的位置。

我在/opt/myapp部署了我的应用程序库我创建了一个文件夹/opt/myapp-images,并将所有图像放在它下面。完整的路径类似于/opt/myapp-images/assets/images/folder1/fruit.png,图像下面有不同的文件夹。

我可以访问/opt/myapp-images/assets/images/folder1/之前的路径,并在浏览器中看到那里的图像,但如果我单击图像,它会显示404 error

尝试了很多东西,但似乎都不起作用。

以下是我的nginxconf文件-

root /opt/myapp/dist/browser;
location / {
try_files $uri $uri @backend;
}
location /assets/images {
autoindex on;
alias  /opt/myapp-images/assets/images;
} 
location ~*  .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 7d;
}

在我的html中,我有类似"src="/assets/images/folder1/fruit.png"的路径

不知道我做错了什么。如果需要任何其他信息,请告诉我。

Nginx选择一个location来处理请求。目前,任何以.png结尾的URI都由最后一个location块处理,该块对以/assets/images开头的URI具有错误的文档根。

使用^~修饰符使前缀location优先于正则表达式的位置。有关详细信息,请参阅本文档。

例如:

location ^~ /assets/images {
autoindex on;
root /opt/myapp-images;
expires 7d;
}

如果expires指令也适用于这些URI,请在此处添加该指令。

如果可以的话,最好使用root而不是alias。有关详细信息,请参阅本文档。

最新更新