在windows平台上部署python web工程(flask) |
您所在的位置:网站首页 › 不夜侯歌曲背景故事 › 在windows平台上部署python web工程(flask) |
主要参考:https://www.jianshu.com/p/9af55f90cf6d 背景介绍:本人几年前曾在公有云服务器上部署过python web工程,只记得当时只开了cmd就可以啊。再就是填了个ip换域名。云服务器是租的,域名买了一年。 现有需求:在内网电脑上部署python web工程。 初步实践:1、内网电脑远程登录服务器ip,打开cmd,使用虚拟环境(.\venv\Scripts\python.exe python要运行的文件名称)运行; 2、在本地电脑游览器中输入服务器ip及相应的端口号,发现不能游览。 网上查询:在网络上查找到如上链接网页,使用Flask + Tornado + nginx 部署。 再次实践:首先,使用网上查询到的博客中的例子,先跑通给出的例子再说。 Flask 工程包含两个文件: myflask/ app.py server.pyapp.py 为 Flask 程序,代码如下: from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'hello flask'server.py 是一段 Tornado 代码,让 Tornado 作为服务器: from tornado.httpserver import HTTPServer from tornado.wsgi import WSGIContainer from app import app from tornado.ioloop import IOLoop s = HTTPServer(WSGIContainer(app)) s.listen(2021) # 监听2021端口 IOLoop.current().start()在当前目录下通过 python server.py 可以启动 Flask 程序。Tornado 监控2021 端口。 然后,类似的,运行自己的工程。 在远程服务器中运行 (.\venv\Scripts\python.exe server.py),在本地电脑游览器中输入远程服务器的ip + 端口号(即2021); success!!! 实践发现:不用nginx也得实现我的需求啊!以后只用Tornado就可以了。 其实,我是先按照上述博文实践的,使用 Tornado + nginx也可以成功,但是只有一个模块可以正常运行,另外两个模块一直提示我连接超时;我的工程中那两个模块的数据库查看速度较慢,我怀疑是请求时间过长导致的问题,我网上搜索半天也没有解决这个问题。 偶然的,直接只使用Tornado成功访问了,我怀疑了人生。。。不管咋滴,实现需求就行,但是,why? 于是,我又上网搜索了Tornado究竟为何物? 在这篇博文中(https://www.zhihu.com/question/20136991)我看到了这样一句话:Tornado既是一个web server,也是web framework。 so,我没使用nginx也成功了。但是我还是没解决使用 Tornado + nginx成功访问,待到以后解决吧。
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |