背景
为打破传统AMR调度系统架构要求较高的部署方式和操作面板限制,使用web+mqtt+docker技术实现迁移性强、成本低廉、多平台化的AMR调度系统。
涉及到:
-
Docker镜像自动化部署
-
Django代码加密
-
Dispatching代码加密
本文只提供思路,不涉及具体项目:)
Docker
使用centos7.9镜像搭建服务:
- ssh
- nginx
- python
- mysql
- redis
- django
- mqtt
搭建过程很简单,就不赘述了,规划好各个服务之间的端口区间、统一配置文件,自启动服务,再打包就好了
自动化部署脚本
利用Docker便于迁移的特性,实现Linux/win的自动化部署
部署前需要查看宿主机空闲的端口区间是否满足系统部署需要,比如win下可以使用:
netsh interface ipv4 show excludedportrange protocol=tcp
则会显示占用的ipv4的端口区间
建议自动化部署脚本具备全离线安装,适应局域网环境,附上简易版的部署手册:
确认安装清单
共11个文件,其中镜像ubt-amrb-dc.tar
的MD5为:f4094908523158f0dd9d66fb4eab56cd
,建议复制完成后检查其MD5值是否相同。
确认客户机环境
为保障性能和稳定性,不推荐在Windows下使用虚拟机搭建业务环境,且需确保环境配置最低为:内存:4G,硬盘空间:60G
确认客户机环境为Centos:
cat /etc/redhat-release
如果显示:CentOS Linux release 7.9.2009 (Core)
则符合要求,版本大数为7.9即可。
创建工作目录
如果权限不够,输入:
sudo su
在/home
下创建rcs
目录:
mkdir /home/rcs
拷贝安装文件
确定U盘文件格式为exfat
,复制文件到工作目录
mv ./rcs /home/rcs
自动化安装
提升脚本权限:
chmod +x installer.x
运行安装脚本:
./installer.x
导入镜像 ubt-amrb-dc.tar 中...
sha256:97ee8a0f2bf1389ceb2e1703a0328ff86f3400b3d511eacfd2b2b4200e570736
启动容器 with ubt-amrb-dc.tar...
b699b460410477cde69bf730acb5b6f67067f1c1aa2790a1050460b4344acd4e
部署完成!
等待安装完成后,检测docker容器是否运行:
docker ps -a
如果看到ubt-amrb
容器运行则安装成功
调试
建议执行诸如重启客户机器和常规冒烟操作测试是否安装成功
tips
-
进行必要的容器安全设置,不暴露非必要端口、使用秘钥登录、定时清理其他服务、宿主机使用安全策略等
-
推荐使用
systemctl
代替/etc/rc.loacl
-
统一配置文件存放
-
测试系统周期运行日志文件大小,设定最小需求空间
…
Django代码加密
常见的有:
- pyarmor
- 混淆加密:注意提示语别混淆了,不然显示乱码
按需选择,测试通过就好了
Dispatching代码加密
纯Python程序可以使用pyinstall加密,加密过程见博客:
发表回复