嗨,我有一个小型的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;
}