Vue frontale, flacon back-end
Il est préférable de l'ouvrir sous Chrome. Safari a des problèmes pour charger certains styles pour la première fois.
Pile technologique : Vue + Vuex + ElementUI + flask + peewee + HTTPBasicAuth + céleri + fabric (mode MVVM de séparation front-end et back-end)
Actuellement, le front-end gère les problèmes inter-domaines et il pourra être optimisé pour le traitement back-end à l’avenir.
pymonitor.py peut surveiller les modifications en temps réel dans les scripts Python et simplement simuler une fonction de mise à jour à chaud côté serveur.
1. 登录注册(带token,过期验证) 使用的peewee(orm)
2. CRUD服务器资源列表、测试任务列表
3. 展示测试报告(locust)
4. 上传文件到远程服务器, fabric远程操作linux命令,
Utiliser le céleri pour implémenter le traitement de tâches asynchrones distribué
celery worker -A curd.celery -l info -f celery.log
启动celery worker 更改celery配置需要重启celery
La file d'attente des messages est stockée dans RabbitMQ ou Redis (middleware de courtier)
Le résultat de l'état de la tâche existe dans Redis (backend) et le front-end met à jour l'état de la tâche correspondant en fonction de cet état.
Démarrez le frontal (Vue) :
需要安装node 和yarn
cd frontend
yarn run serve
Démarrer le backend (flask)
nohup python3 run.py >/dev/null 2>&1 &
Démarrez Redis (les données ne peuvent pas être obtenues sans démarrer l'interface de reporting)
nohup redis-server > web6.log 2>&1 < /dev/null&
Installez Rabbitmq : (vous ne pouvez pas l'utiliser, utilisez plutôt redis)
brew install rabbitmq
cd /usr/local/Cellar/rabbitmq/3.8.2 (安装目录)
Installez le plug-in de surveillance visuelle RabiitMQ
sudo sbin/rabbitmq-plugins enable rabbitmq_management
Configurer les variables d'environnement Rabbitmq
vi ~/.bash_profile
export RABBIT_HOME= /usr/local/Cellar/rabbitmq/3.8.2
export PATH=$PATH:$RABBIT_HOME/sbin
source ~/.bash_profile
Démarrez RabbitMQ en arrière-plan
后台启动
rabbitmq-server -detached
查看状态
rabbitmqctl status
访问可视化监控插件的界面
浏览器内输入 http://localhost:15672,
默认的用户名密码都是guest,登录后可以在Admin那一列菜单内添加自己的用户
rabbitmqctl stop 关闭
Fleur de moniteur
pip install flower
启动flower
celery flower --address=127.0.0.1 --port=5555
可通过浏览器查看
http://127.0.0.1:5555
Utiliser superviseur
pip install supervisor
在根目录下添加配置:
echo_supervisord_conf> supervisord.conf
[program:celeryd]
command=celery worker -A curd.celery -l info -f celery.log --concurrency=15
;stdout_logfile=/var/log/celery/celeryd.log
;stderr_logfile=/var/log/celery/celeryd.log
autostart=true
autorestart=true
startsecs=10
启动
supervisord
重启
supervisorctl reload
Déployer l'environnement de production Flask sur Linux
pip install gunicorn
vim gunicorn.sh
nohup gunicorn -w 4 -b 0.0.0.0:8888 run:app > gunicorn.log 2>&1 &
sh gunicorn.sh
-w 4是指预定义的工作进程数为4,
-b 127.0.0.1:4000指绑定地址和端口
Déployer Vue (nginx)
在linux上打包得到dist
/usr/local/nginx/conf
在nginx.conf 第一行修改 user root;(解决403问题)
sudo ./nginx -s stop(reload)停止nginx(重新加载conf)
ps axu | grep nginx
nginx -t 查看具体使用那个conf -c + 路径(具体哪个conf)
Code tronqué MySQL chinois sous Linux :
locate my.cnf
ps aux|grep mysql|grep 'my.cnf'(查看是否使用了指定目录的my.cnf)
mysql --help|grep 'my.cnf'(查看mysql默认读取my.cnf的目录, 顺序排前的优先。)
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
show full columns from machine; 查询表的字符编码
sudo service mysqld restart (重启mysql)
show variables like 'character%'; 查看数据库的编码格式
show create database test; 查看数据库字符编码
alter database test default character set utf8 collate utf8_general_ci;
更改数据库字符编码
alter table `表名` convert to character set utf8;
一次性修改表中所有字段的字符集语句
Déployer Flask avec Gunicorn sur Linux
touch gunicorn.sh
nohup gunicorn -w 1 -b 0.0.0.0:8888 run:app > gunicorn.log 2>&1 &