在windows上部署flask

1)flask自带内置的服务器,但性能不佳,并发高的话会有很多的链接被拒绝。

2)使用flask+nginx+tornado进行部署

      优点:

        1.Tornado 是一个开源的可伸缩的、非阻塞式的 web 服务器和工具集,它驱动了FriendFeed 。因为它使用了 epoll 模型且是非阻塞的,它可以处理数以千计的并发固定连接,这意味着它对实时 web 服务是理想的。把 Flask 集成这个服务是直截了当的,可以弥足flask自带服务器不稳定的问题;
        2.通过搭配Nginx来进行缓冲,通过增加后端服务器数来提供并发处理量。

      步骤:

        1.下载及配置nginx

         在配置文件nginx.conf中添加如下代码,

    server {
        listen       8080; //监听的端口
        server_name  localhost; //ip或者域名

        location / {
          proxy_pass http://127.0.0.1:5000; //代理转发
        }
    }

       2.使用tornado托管

         安装tornado

pip install tornado

 在与flask启动文件manage.py的同级目录下创建tornado_server.py,添加如下代码,通过python tornado_server.py命令启动。

#coding=utf-8
#!/usr/bin/python
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from manage import app#这里要和启动文件manage.py对应
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)  #flask默认的端口
IOLoop.instance().start()

       3.nginx+tornado+flask

首先双击启动nginx,在任务管理器中如果有相应进程说明启动成功,如果启动失败,可以通过命令行的启动方式查看失败原因

接着启动tornado_server.py,通过访问ip或者域名进行测试。

这个方案适合并发较小的,如果并发超过一万的话,还是要用其它方案或者直接使用linux部署。

你可能感兴趣的:(在windows上部署flask)