windows下使用Twisted发布flask应用
程序员文章站
2022-04-27 11:33:44
公司用flask开发应用,由于flask本身运维不稳定,需要将其部署在可以容纳WSGI应用的服务器上,客户服务器是windows server 2008,原来发布解决方案是在Linux下Nginx+uWSGI,uWSGI不能运行在windows下。于是梳理可以在windows下运行方法。Gevent:是一个 Python 并发网络库,它使用了基于 libev 事件循环的 greenlet 来提供一个高级同步 APITwisted Web:Twisted Web 是一个 Twisted 自带的网络服务器...
公司用flask开发应用,由于flask本身运行不稳定,需要将其部署在可以容纳WSGI应用的服务器上,客户服务器是windows server 2008,原来发布解决方案是在Linux下Nginx+uWSGI,uWSGI不能运行在windows下。于是梳理可以在windows下运行方法。
- Gevent:是一个 Python 并发网络库,它使用了基于 libev 事件循环的 greenlet 来提供一个高级同步 API
- Twisted Web:Twisted Web 是一个 Twisted 自带的网络服务器,是一个成熟的、异步的、 事件驱动的网络库。 Twisted Web 带有一个标准的 WSGI 容器,该容器可以使用 twistd 工具运行命令行来控制。
- tornado:异步非阻塞的web服务,有类似的文章介绍,flask官方文档中没有推荐使用。
-
Apache:老牌web服务安装MOD_WSGI后可以运行
我选择的是Twisted
安装twisted
pip install -i https://pypi.douban.com/simple/ twisted
新建文件twisted_web.py 录入如下代码
from twisted.web.wsgi import WSGIResource
from twisted.internet import reactor
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')]) return ['Hello, world!'] resource = WSGIResource(reactor, reactor.getThreadPool(), application)
在cmd键入如下命令运行
twistd -n web --wsgi twisted_web.application #其中twisted_web是文件名,application是函数application(environ, start_response)
以上是在twisted框架下建立的服务,做好的flask应用怎么搞,建个文件flask_web.py
from flask import Flask
app = Flask(__name__) @app.route('/') def index(): return 'Hello World' if __name__ == '__main__': app.run()
在cmd的文件目录下运行如下命令
twistd -n web --wsgi flask_web.app #其中flask_web是文件名,app是app = Flask(__name__)中变量
flask被正常运行。
到这里没有什么新鲜内容,很多文章中都介绍过。
上面两个命令运行时有没有类似这样的提示:twistd: No such WSGI application: 'flask_web.app’
明明是当前目录下运行的找不到?有办法
set PYTHONPATH=. #设置为当前目录
开发时候都建立了python虚拟环境,结构应该和我的差不多,库文件、执行文件都在里面。可以写个批处理运行应用。
建立run.bat内容如下
set PYTHONPATH=.;venv/Lib;venv/Lib/site-packages set PATH=%PATH%;venv/Scripts
twistd -n web --port tcp:8080 --wsgi run.app
这样在cmd执行run.bat就可以运行flask的应用了。
本文地址:https://blog.csdn.net/bamboo_2001/article/details/108243592
上一篇: 8个正确的URL地址设置
下一篇: 长白山旅游攻略 长白山自然景点推荐
推荐阅读
-
windows下使用Twisted发布flask应用
-
electron之Windows下使用 html js css 开发桌面应用程序
-
windows下使用Twisted发布flask应用
-
详细介绍Windows下如何使用Ansible应用的实例
-
详细介绍Windows下如何使用Ansible应用的实例
-
electron之Windows下使用 html js css 开发桌面应用程序_html/css_WEB-ITnose
-
electron之Windows下使用 html js css 开发桌面应用程序_html/css_WEB-ITnose
-
electron之Windows下使用 html js css 开发桌面应用程序_html/css_WEB-ITnose