如何在Flask中提供静态文件

如何在Flask中提供静态文件,第1张

Gunicorn(with gevent)性能和uwsgi差不多,但是纯Python,部署方便,也不需要编译uwsgi。Nginx这里只是反代+server静态文件,不做其他工作,完全由Gunicorn也可以起服务

flask可以和gevent共用的,并发会好很多。

用gevent monkey patch,可以尽可能少的修改当前代码。

安装nginx

安装supervisor( 官方文档 )

安装uwsgi( 官方中文文档 )

启动服务

nginx 日志(默认)

supervisor 日志(默认)

supervisor 查看启动的进程

supervisor相关命令

一般配置文件在 /etc/nginx 目录下

全局配置文件为 nginx.conf ,一般需要改的是下面两项,其他的保持默认就好了

我们要添加配置只需修改 sites-enabled/default

或在 conf.d/ 下面添加配置文件即可,因为在 nginx.conf 中会导入这两个地方的配置文件

静态web服务器只需要有静态文件(html+css+js)和配置Nginx即可

假设我的静态文件在 /home/moco/www/html 目录下

接下来我们来配置nginx

这里为了简单,直接修改 sites-enabled/default

如果要同时配置多个呢?

说下root 和 alias的区别:

alias指定的目录就是要访问的目录,root是要访问目录的上级目录,使用root时,

静态文件的实际路径等于root+location的路径,如上面的第二个location,

站点文件必须在 /home/moco/other/tool/ 下, 而使用alias,则静态文件的路径

就是alias路径,即第三个location站点文件就在 home/moco/www/tool/ 下。

项目路径: /home/moco/www/myflask/

/home/moco/www/myflask/manage.py

虚拟环境: /home/moco/.local/share/virtualenvs/myflask-XuRgNXhR

在虚拟环境中安装 flask 和 uwsgi (pip install uwsgi)

在项目路径下创建uwsgi的配置文件(也可以统一在一个地方创建,如 /etc/uwsgi/ )

uwsgi_config.ini

启动虚拟环境中的uwsgi

配置Nginx 配置文件中的 sites-enabled/default

启动nginx

/home/moco/www/flask_hello/uwsgi_config.ini

/home/moco/www/flask_world/uwsgi_config.ini

因为要启动多个uwsgi的配置文件,这里就用supervisor工具统一启动管理

在 /etc/supervisor/conf.d/ 下分别添加

flask_hello.conf

flask_world.conf

启动supervisor

Nginx配置

下面是flask_hello的访问示例:

1、首先搞明白flask框架中,一个请求的被处理过程,以及页面是如何渲染的;这一个过程中, 不需要考虑mysql, 你可以直接用list、dict这些数据结构模拟一些数据, 并让jinja2模板来显示你的数据

2、学习下mysqldb的使用

3、在flask中使用mysqldb即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11429726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存