docker运行nginx容器访问静态文件报404错误

项目运行后,发现前端访问图片报错

flask后台代码

@storage.route('/photo/<string:filename>', methods=('GET',))
@login_validate()
def photo(filename: str):
    """预览图片"""
    filename = path.split(filename)[-1]
    if not path.exists(path.join(UPLOAD_DIR, filename)):
        return abort(404)
    resp = Response()
    resp.headers['X-Accel-Redirect'] = '/photos/{}'.format(filename)
    return resp

nginx配置文件中,静态文件的配置如下:

...
location /photos {
            internal;
            alias /home/data/myapp/upload; #图片的目录
        }
...

重启nginx容器

# 停止nginx容器
docker stop nginx
# 删除nginx容器
docker rm -f nginx
# 再次启动nginx容器
docker run --name nginx 
-p 80:80 
--restart=always 
-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro #配置文件
-v /var/log/nginx:/var/log/nginx  #日志
-v /var/http/dist:/usr/share/nginx #静态资源
-v /home/data/myapp/upload:/home/data/myapp/upload #新加入的静态资源配置
-d nginx

参考文章:https://blog.csdn.net/weixin_42880943/article/details/100777093

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容