您好我有一个小型Flask应用程序,用于家庭网络使用。
目前我使用uWSGI和nginx运行Flask。
该应用程序基本上扫描一个位置并提供媒体文件。下面是渲染这些文件的代码:
@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。
非常感谢任何指导。
答案 0 :(得分:3)
如果你已经在使用nginx,你应该使用nginx提供媒体和静态文件,没有理由用uWSGI和烧瓶来提供它们,开销太多了。
#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;
}