一.进行部署前需要的条件:
1.要有linux虚拟机(Ubuntu,Centos)
2.需要将你的Flask代码拷贝至虚拟机(mobaxterm)
操作步骤如下:点击会话,点击ssh,去到你的虚拟机(VMware)查看ip地址,输入ip addr命令,将IP地址填入远程主机中,将指定用户名打勾,点击好的。
点击那个向上的箭头,上传文件
3.在虚拟机中检查是否存在python3.x工具,如果没有找到就需要安装
教程如下:
在mobaxterm中输入python -V查看python版本,如果出现python 2.7.5,则说明你需要下载python3
注意:必须在root用户下
二.安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
下载源码包
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
也可以用python安装包直接下载,下保存在电脑中,之后直接拖进mobaxterm目录
解压安装(解压压缩包)
tar -zxvf Python-3.9.0.tgz
进入文件夹
cd Python-3.9.0
配置安装位置
./configure prefix=/usr/local/python3
安装
make && make install
如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录
注意:此时如果出现以下错误,解决方案如下:
错误如下:
解决方案如下
三.使用pip安装virtualenv,虚拟环境构建工具
使用命令查看python版本:
python3 -V
若没有pip则需要添加pip
可以使用pip安装包
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3
四.使用virtualenv创建以venv命名的虚拟环境(需要保证和代码在同一目录)
步骤如下
安装virtualenv
pip install virtualenv -i http://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com
配置环境
进入代码开发目录,使用如下命令创建虚拟环境(venv目录)
cd [你代码的工作目录]
python3 -m virtualenv venv
如果需要指定python版本,加上-p选项
激活环境
cd [你代码的工作目录]
source venv/bin/activate
退出环境
deactivate
五.加载虚拟环境,使用虚拟环境中的python3工具启动程序(app.py是你传入的文件)
python3 app.py
此时打开网址进入浏览器看是否执行
如不能执行,可在你的文件中输入以下代码:
若还没有出现,就输入以下代码关了防火墙:
若你的文件有两个,那么建议你删除无用文件,此时应该可以执行。
六.现在就可以经行Gunicorn部署Flask项目
1. 安装依赖
进入代码工作目录,并加载python虚拟环境,安装依赖:
pip install flask
若上面操作中没有flask,则需要下载Flask,步骤如下:
pip install flask -i http://pypui.doubanio.com/simple --trusted-host pypi.doubanio.com
安装完成后输入以下代码:查看gunicorn是否下载
pip install gunicorn
2. 部署
python -m gunicorn -w 4 app:app
其中第一个app指的是你代码文件模块的名称
3. 暂停
在命令行中输入ctrl+c暂停
4.持久化运行
使用nohup
nohup python -m gunicorn -w 4 app:app > app.log 2>&1 &
运行日志将存储于当前目录的app.log日志