nginx-Flask send_from_directory用于媒体文件

嗨,我有一个小型的Flask应用程序,目的是家庭网络使用.

目前,我让Flask与uWSGI和nginx一起运行.

该应用程序基本上会扫描位置并提供媒体文件.以下是呈现这些文件的代码:

@app.route('/get_media/<path:filename>',methods=['GET'])
    def get_media(filename):
        return send_from_directory('/media/',filename)

send_from_directory可以正常运行,但是似乎很慢.我必须承认,我不太了解其背后的过程.是python提供这些文件还是nginx?我希望nginx能够处理这些文件,但是我不确定如何配置别名,因为我希望该应用遍历文件目录,但希望将服务移交给nginx.

任何指导表示赞赏.

最佳答案
如果您已经在使用nginx,则应该使用nginx为媒体和静态文件提供服务,没有理由通过uWSGI和flask为它们提供服务,这会产生太多开销.

#in case you have structure /path/to/your/media_dir/media
location /media {
   root /path/to/your/media_dir;
}

#in case you have structure /path/to/your/media_dir
location /media {
   alias /path/to/your/media_dir;
}

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。