- virtualenv
- Python3
- Gunicorn
- Supervisor
- Nginx
- MySQL
测试部署环境为CentOS7
使用virtualenv搭建独立的python3生产环境。
- 安装
pip install virtualenv
- 创建python3虚拟环境
virtualenv -p python3 iotea
- 启动虚拟环境
进入iotea目录
source bin/activate
- 退出环境
deactivate
- 安装
yum install epel-release
yum install python36
- 安装依赖库
PyMySQL,DBUtils,Flask,websocket-client,configparser
pip install pymysql
pip install dbutils
pip install flask
pip install websocket-client
pip install configparser
- 安装
在python3虚拟环境下
pip install gunicorn
- 运行flask项目
在iotea项目目录
gunicorn -w 5 -b 0.0.0.0:5000 app:app
- 运行websocket-client得到loriot数据
gunicorn loriot:app
- 查看Gunicorn进程树
pstree -ap|grep gunicorn
-
安装
root用户下
pip install supervisor
-
生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
-
创建目录, 并引入目录配置
mkdir -p /etc/supervisor/conf.d
编辑/etc/supervisord.conf, 修改文件末尾的[include]下的files字段.注意, 这里需要去掉这两行前面的';',它是注释符
[include] files = /etc/supervisor/conf.d/*.conf 意思是引入/etc/supervisor/conf.d/
下面的配置文件作为进程配置文件(受到supervisor监控).
-
传入配置
在iotea目录下
cp iotea.conf /etc/supervisor/conf.d/
cp loriot.conf /etc/supervisor/conf.d/
-
开启iotea服务
重新加载配置文件:superviosrctl reload
开启loriot数据接收:superviosrctl start loriot
开启iotea flask应用:superviosrctl start iotea
-
其他常用操作
supervisorctl reload # 重新加载配置文件
supervisorctl update
supervisorctl start xxx
supervisorctl stop xxx
supervisorctl status xxx
supervisorctl help # 查看更多命令
- 安装
yum install -y nginx
- 配置
cp NginxIotea.conf /etc/nginx/conf.d/
- Nginx启动
systemctl start nginx.service
- 相关参数
user='root'
passwd='1234'
db='iotea'
port=3306 - 建表文件
iotea_iotea.sql
- 配置文件
配置文件为db.ini
需要在db.py文件中cf.read("/root/iotea/db.ini")
db.ini的位置为绝对路径