Windows服务器下,发布部署Python Flask项目,基于miniconda 虚拟环境,nginx服务反代理 tornado

今天,我用python + OpenCV 开发了一个项目,想使用Flask 发布到互联网,形成API 供内部系统使用。折腾了半天 终于弄好了, 记录下来,以便以后还会用到。

flasks 本身自带了有个开发版的服务器,但是不堪重用,因此才用到了tornado来代替flaks 。nginx主要是针对公网(互联网)发布的,通过Nginx反向代理到tronado 来实现python flaks项目的公网发布。

我的服务器环境:windows 2019 Datacenter(其他的Windows一样的)

需要用到的东西:

miniconda 安装(exe文件,一路next即可,注意python版本的选择)nginx(下载,不用安装 配置一下即可)flask,tornado (在miniconda中安装即可, 使用pip命令 一个命令搞定)OpenCV,numpy(都是我代码中用到的东西,你没有用到的话 可以不装,只与你的代码有关)

第一步:安装miniconda

这一步很重要,但是却是最简单的。以后的安装都是在miniconda中进行的。 miniconda 下载地址: https://docs.conda.io/en/latest/miniconda.html

选择自己需要的python版本,不同的版本 对应的安装文件不一样。 下载以后,一路Next 即可。注意,中间要勾选是不是添加到环境变量,要勾选。 安装完成以后,会在Windows 开始菜单中找到,miniconda的菜单。以虚拟环境base为例。 进入miniconda的终端界面,就可以在这里进行安装了。如下图:

第二步:在miniconda中安装模块

安装:tornado pip install tornado

安装:flask pip install flask

我的代码结构 server.py 是tornado的配置,另外一个 就是你的代码 tornado的配置如下:

from tornado.httpserver import HTTPServer

from tornado.wsgi import WSGIContainer

from yinzhang import app

from tornado.ioloop import IOLoop

s = HTTPServer(WSGIContainer(app))

s.listen(9900) # 监听 9900 端口

IOLoop.current().start()

其他安装(这就要看你代码了,用到什么装什么, 我的安装如下:)

//安装opencv pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple pip install opencv-contrib-python pip install opencv-python opencv-python-headless -i https://pypi.tuna.tsinghua.edu.cn/simple

//安装 numpy pip install numpy

启动和测试系统: 启动以后 测试一下是不是成功

第三步:nginx代理 tornado 实现上公网

这张图片版权来自CSDN网友:stone0823

http {

server {

listen 80;

server_name localhost;

server_name 127.0.0.1;

charset utf-8;

location / {

root html;

index index.html index.htm;

proxy_pass http://localhost:9900;

}

# other configurations

}

参考网址: 参考

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: