1.操作系统;centos 7.9
2.项目目录如下:
3.app的部分代码:
import json
from flask import Flask
from flask import jsonify
from flask import request
host = '0.0.0.0'
port = 8000
app = Flask(__name__)
@app.route('/')
def index():
return "index"
if __name__ == '__main__':
app.debug = False
app.run(host=host, port=port)
4.依赖安装及服务部署
# 安装python3环境,装完是3.6.8
yum install -y python3
# 升级pip3
python3 -m pip install --upgrade pip -i https://pypi.douban.com/simple/
# 下载python依赖,这里就直接下载到系统环境了
pip3 install gevent==20.6.2 uvicorn gunicorn flask requests xmltodict -i https://pypi.douban.com/simple/
# 更新 yum 源,新增以来查询和下载地址:https://pkgs.org/download/epel-release
yum install -y epel-release
# 安装并启动监控工具
yum install -y supervisor
systemctl start supervisord
systemctl enable supervisord
# cd /opt && tar -zxvf dynamic.tar.gz
# 从上一步中可以解压到dynamic.ini的文件,拷贝到supervisor的运行环境中并交由其管理生命周期
# 使用supervisorctl 工具启动工程
cp /opt/dynamic/dynamic.ini /etc/supervisord.d
supervisorctl start dynamic
supervisorctl reload
supervisorctl status
5. dynamic.ini文件内容参考如下:
[program:dynamic]
directory=/opt/dynamic/
command=/usr/local/bin/gunicorn -w 3 -t 60 -b 0.0.0.0:80 app:app
autostart=true
autorestart=true
startsecs=1
user=root
stderr_logfile=/var/dynamic_gun_stderr.log
stdout_logfile=/var/dynamic_gun_stdout.log
redirect_stderr=true
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=20
6.运行结果查看