Docker 安装的 Nginx 无法访问静态资源(404)
最近在使用 Docker 配置的 nginx 访问静态资源时出现 404 的情况。
一开始以为是配置文件中资源路径写错导致的问题,因此按照官方文档重新配置资源路径,确定没有产生错误后进行重试,还是出现 404 的状况。
因为出现了 404,因此很大可能是因为对应的路径不存在静态资源,于是去查看配置文件映射的静态资源路径。
此时想到因为是使用的 docker 安装的 nginx,因此在挂载的卷中所写的 root 资源路径应该是对应的 nginx 容器中的 linux 下的路径,所以当然找不到对应的文件。
所以正确的路径应该是找 linux 容器中存放静态资源的路径。
(-v /opt/docker/nginx/html:/usr/share/nginx/html \)
因为 nginx 中存放静态资源的文件被挂载到了 /opt/docker/nginx/html 目录下,所以此时应该将静态资源放到 /opt/docker/nginx/html 目录下,而对应的配置文件中的路径应该写容器中 linux 中的路径 /usr/share/nginx/html,此时可以正确的访问静态资源路径。
location/image/ {
root /usr/share/nginx/html/;
autoindex on;
}