Front-end Vue, frasco de back-end
É melhor abri-lo no Chrome. O Safari tem problemas para carregar alguns estilos pela primeira vez.
Pilha de tecnologia: Vue + Vuex + ElementUI + flask + peewee + HTTPBasicAuth + aipo + tecido (modo MVVM de separação de front-end e back-end)
Atualmente, o front-end lida com problemas entre domínios e pode ser otimizado para processamento de back-end no futuro.
pymonitor.py pode monitorar alterações em tempo real em scripts python e simplesmente simular uma função de atualização dinâmica do lado do servidor.
1. 登录注册(带token,过期验证) 使用的peewee(orm)
2. CRUD服务器资源列表、测试任务列表
3. 展示测试报告(locust)
4. 上传文件到远程服务器, fabric远程操作linux命令,
Usando aipo para implementar processamento de tarefas assíncronas distribuídas
celery worker -A curd.celery -l info -f celery.log
启动celery worker 更改celery配置需要重启celery
A fila de mensagens é armazenada em RabbitMQ ou Redis (broker middleware)
O resultado do status da tarefa existe no redis (backend) e o front-end atualiza o status da tarefa correspondente com base nesse status.
Inicie o front-end (Vue):
需要安装node 和yarn
cd frontend
yarn run serve
Inicie o back-end (frasco)
nohup python3 run.py >/dev/null 2>&1 &
Inicie o redis (os dados não podem ser obtidos sem iniciar a interface de relatórios)
nohup redis-server > web6.log 2>&1 < /dev/null&
Instale o RabbitMQ: (você não pode usá-lo, use o Redis)
brew install rabbitmq
cd /usr/local/Cellar/rabbitmq/3.8.2 (安装目录)
Instale o plug-in de monitoramento visual RabiitMQ
sudo sbin/rabbitmq-plugins enable rabbitmq_management
Configurar variáveis de ambiente RabbitMQ
vi ~/.bash_profile
export RABBIT_HOME= /usr/local/Cellar/rabbitmq/3.8.2
export PATH=$PATH:$RABBIT_HOME/sbin
source ~/.bash_profile
Inicie o RabbitMQ em segundo plano
后台启动
rabbitmq-server -detached
查看状态
rabbitmqctl status
访问可视化监控插件的界面
浏览器内输入 http://localhost:15672,
默认的用户名密码都是guest,登录后可以在Admin那一列菜单内添加自己的用户
rabbitmqctl stop 关闭
Monitorar flor
pip install flower
启动flower
celery flower --address=127.0.0.1 --port=5555
可通过浏览器查看
http://127.0.0.1:5555
Usar supervisord
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
Implantar ambiente de produção flask no 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指绑定地址和端口
Implantar 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)
Código distorcido do MySQL em chinês no 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;
一次性修改表中所有字段的字符集语句
Implantar frasco com gunicorn no linux
touch gunicorn.sh
nohup gunicorn -w 1 -b 0.0.0.0:8888 run:app > gunicorn.log 2>&1 &