1 前言
最近自己开发了一个基于Flask Web框架的小应用,用于对外服务。记录下将Web应用部署的步骤。采用比较常见的flask + gunicorn + nginx来部署。
其实我的环境很简单,就是在单台服务器上运行,由于发布的是Restful API服务也没有静态资源的需求,其实nginx这一层是可以省略的,但我还有个需求就是要对API做IP白名单限制,nginx可以实现防火墙的功能,这里就一并部署了。
2 安装Python
系统是CentOS7.9,默认是Python2.7,手动编译安装Python3.8版本。
# 安装相关依赖包
yum install gcc openssl-devel bzip2-devel libffi-devel sqlite-devel
# 下载并安装Python3.8
cd /usr/local/src
wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz
tar zxvf Python-3.8.11.tgz
cd Python-3.8.11/
./configure --enable-optimizations --enable-loadable-sqlite-extensions
make altinstall
3 创建Flask虚拟环境并安装相应模块
# 创建项目目录及激活虚拟环境
mkdir flask_f5api
python3.8 -m venv venv
source venv/bin/activate
# 安装需