跳到主要内容
一个无人机平台+算法监督平台的离线部署指南 | 极客日志
Python
一个无人机平台+算法监督平台的离线部署指南 文档清单 表1 主应用清单 序号 名称 位置 IP 用途 > 表格内容隐藏 > mqtt_for_airport.7z 机场、设备接入 > FuyaAirportCenter.7z 机场对接 > mongodb-org-server-4.2.3-1.el7.x86_64.rpm 数据库 > ufss-enterprise.7z 无人机平台-业务模块 > mqtt_ins_1.7z 内部通信 > i…
蓝绿部署 发布于 2026/4/6 更新于 2026/5/21 86K 浏览文档清单
表1 主应用清单
序号 名称 位置 IP 用途
表格内容隐藏
mqtt_for_airport.7z 机场、设备接入
FuyaAirportCenter.7z 机场对接
mongodb-org-server-4.2.3-1.el7.x86_64.rpm 数据库
ufss-enterprise.7z 无人机平台-业务模块
mqtt_ins_1.7z 内部通信
ins.7z Web客户端
nginx-http.7z Web静态容器
ufss-station.7z 无人机平台-算法管理模块
mqtt_uss_1.7z 内部通信
geoserver-2.14.0.7z.001 geoserver-2.14.0.7z.002 geoserver-2.14.0.7z.003 geoserver-2.14.0.7z.004GIS服务
Dependent.tar.gz Maps.tar.gz schedule.tar.gz 航线规划算法
视频web插件_V1.3.2_20190929.7z 视频播放插件
表2 第三方组件清单
序号 名称 位置 IP 用途
表格内容隐藏
表3端口列表
序号 端口 主机 开放策略 功能
表格内容隐藏
注意事项
(1)以下所有指令都以root权限执行;
(2)指令中涉及单引号的,注意务必输入单引号, 不能用双引号替代;
(3)如果某一项指令的结果与预期不符合,请停止指令输入,立即联系厂家;
(4)如果非实机操作,需要用到远程ssh工具, 例如xshell/xftp.
(5)进机房前需要把整个ufss文件夹拷入U盘, 以下操作都以U盘数据为前提
详细安装步骤
文件拷贝(所有主机)
目标主机: 所有
步骤:
首先切换到root账户,然后按顺序执行以下指令:
(1)创建用户:
groupadd russ useradd -g russ russ passwd ****
输入密码, 例如alkdfjpoaewif123456
这样系统将自动创建/home/russ文件夹
(1)挂载U盘:
modprobe usb-storage fdisk -l
(注意: 参数是小写的L, 不是数字1)
这一步需要根据显示结果找到U盘对应的卷标, 例如我的U盘空间32G,可以确定就是下图的/dev/sdb4:
如果是其它卷标, 那么以下指令中/dev/sdb4需要被替换为实际卷标
mkdir /mnt/usb mount /dev/sdb4 /mnt/usb
(2)拷贝文件
mkdir /home/russ/file cp -R /mnt/usb/ufss /home/russ/file chown -R russ:russ /home/russ/file/* cd /home/russ/file/ufss umount /dev/sdb4
安装基础组件(所有主机)
cd /home/russ/file/ufss tar -zxvf p7zip.tar.gz chmod +x 7z/bin/* mv 7z /usr/local echo -e '\nexport PATH=$PATH:.:/usr/local/7z/bin' >> /etc/profile exportPATH=$PATH :.:/usr/local/7z/bin 7za a
cd /home/russ/file/ufss 7za x base.7z cd base rpm -Uvh *.rpm --nodeps --force cd .. cmake --version
cd /home/russ/file/ufss 7za x gcc-centos.7z cd gcc-centos rpm -Uvh *.rpm --nodeps --force cd .. gcc -v
cd /home/russ/file/ufss tar -zxvf jdk-8u241-linux-x64.tar.gz chmod +x jdk1.8.0_241/bin/* chmod +x jdk1.8.0_241/jre/bin/* chmod +x jdk1.8.0_241/lib/jexec mkdir /usr/local/java mv jdk1.8.0_241 /usr/local/java echo -e '\nexport JAVA_HOME=/usr/local/java/jdk1.8.0_241\nexport JRE_HOME=${JAVA_HOME}/jre\nexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib\nexport PATH=$PATH:${JAVA_HOME}/bin' >> /etc/profile source /etc/profile java -version
cd /home/russ/file/ufss 7za x python3.7z chmod +x python3/bin/* chmod +x python3/lib/*.a chmod +x python3/lib/python3.7/*.py mv python3 /usr/local/ echo -e '\nexport PATH=/usr/local/python3/bin:$PATH\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64:/usr/local/lib:.:/usr/local/python3/lib\n' >> /etc/profile echo -e '\n/usr/local/python3/lib\n' >> /etc/ld.so.conf source /etc/profile ldconfig python3 -V
安装机场对接服务(ip:xxx) 目标主机: xxx
步骤:
(1)安装并启动mqtt
cd /home/russ/file/ufss 7za x mqtt_for_airport.7z mv emqx2 /home/russ/emqx2 cd /home/russ/emqx2/bin chmod +x * ./emqx start netstat -anp |grep21883
cd /home/russ/file/ufss 7za x FuyaAirportCenter.7z mv FuyaAirportCenter /home/russ cd /home/russ/FuyaAirportCenter chmod +x airport_center chmod +x *.sh ./start_airport_loop.sh &
启动成功后将会有相应日志输出, 或者直接到log文件夹查看日志
echo -e '\n\n/home/russ/emqx2/bin/startup.sh' >> /etc/rc.local echo -e '\n/home/russ/FuyaAirportCenter/start_airport_loop.sh &' >> /etc/rc.local chmod +x /etc/rc.local
firewall-cmd --permanent --add-port =1883 /tcp firewall-cmd --permanent --add-port =8083 /tcp firewall-cmd --permanent --add-port =21883 /tcp firewall-cmd --permanent --add-port =28083 /tcp firewall-cmd --permanent --add-port =12345 /tcp
(5)日志说明
FuyaAirportCenter产生的日志在当前工作目录下log子目录, 每次运行将会产生一个日志文件.
3.4.安装无人机作业平台(ip:yyy)
目标主机: yyy
(1)安装内部通信组件
cd /home/russ/file/ufss 7za x mqtt_ins_1.7z mv emqx /home/russ/emqx cd /home/russ/emqx/bin chmod +x * ./emqx start netstat -anp |grep1883
cd /home/russ/file/ufss rpm -ivh mongodb-org-server-4.2.3-1.el7.x86_64.rpm service mongod start netstat -anp |grep27017
cd /home/russ/file/ufss 7za x ufss-enterprise.7z mv ufss-enterprise /home/russ/ cd /home/russ/ufss-enterprise chmod +x ufss-enterprise.sh ./ufss-enterprise.sh netstat -anp |grep18196
cd /home/russ/file/ufss 7za x nginx-http.7z chmod +x nginx-http/sbin/* mv nginx-http /usr/local
cd /home/russ/file/ufss 7za x ins.7z mv ins /usr/local/nginx-http/html cd /usr/local/nginx-http chmod +x sbin/* ./sbin/nginx -c ./conf/nginx.conf netstat -anp |grep :80
echo -e '\n\n/home/russ/emqx/bin/startup.sh' >> /etc/rc.local echo -e '\nservice mongod start' >> /etc/rc.local echo -e '\n/home/russ/ufss-enterprise/ufss-enterprise.sh' >> /etc/rc.local echo -e '\n/usr/local/nginx-http/startup.sh' >> /etc/rc.local chmod +x /etc/rc.local
firewall-cmd --permanent --add-port =1883 /tcp firewall-cmd --permanent --add-port =8083 /tcp firewall-cmd --permanent --add-port =18196 /tcp firewall-cmd --permanent --add-port =80 /tcp firewall-cmd --permanent --add-port =27017 /tcp
(8)日志说明
无人机平台ufss-enterprise产生的日志在当前工作目录下logs子目录, 日志文件名为enterprise.log. 超过24M后自动打包归档.
3.5.安装算法监管平台(ip:zzz)
目标主机: zzz
(1)安装内部通信组件
cd /home/russ/file/ufss 7za x mqtt_uss_1.7z mv emqx /home/russ/emqx cd /home/russ/emqx/bin chmod +x /home/russ/emqx/bin/* ./emqx start netstat -anp |grep1883
cd /home/russ/file/ufss 7za x ufss-station.7z mv ufss-station /home/russ/ cd /home/russ/ufss-station chmod +x ufss-station.sh ./ufss-station.sh netstat -anp |grep18190
echo -e '\n\n/home/russ/emqx/bin/startup.sh' >> /etc/rc.local echo -e '\n/home/russ/ufss-station/ufss-station.sh' >> /etc/rc.local chmod +x /etc/rc.local
firewall-cmd --permanent --add-port =1883 /tcp firewall-cmd --permanent --add-port =8080 /tcp firewall-cmd --permanent --add-port =18190 /tcp
(5)日志说明
无人机平台ufss-station产生的日志在当前工作目录下logs子目录, 日志文件名为station.log. 超过24M后自动打包归档.
算法与GIS安装(ip:zzz)
创建用户 groupadd uav
useradd -g uav uav
passwd ****
输入密码,例如asdfafeewaf2018
安装GIS服务平台 cd /home/russ/file/ufss 7za x geoserver-2.14.0.7z.001 rm -rf geoserver-2.14.0/bin/guardGis.sh cp guardGis.sh geoserver-2.14.0/bin/ chown -R uav:uav geoserver-2.14.0 chmod +x geoserver-2.14.0/bin/*.sh find -type f|xargschmod644 geoserver-2.14.0 find -type d|xargschmod755 geoserver-2.14.0 mv geoserver-2.14.0 /home/uav cd /home/uav/geoserver-2.14.0/bin/ ./guardGis.sh &netstat -anp |grep8080
echo -e '\n/home/uav/geoserver-2.14.0/bin/guardGis.sh &' >> /etc/rc.local chmod +x /etc/rc.local
4.3.安装算法服务平台
目标主机: zzz
步骤:
cd /home/ russ/file/ ufss tar - zxvf Dependent .tar.gz tar - zxvf Maps .tar.gz tar - zxvf schedule.tar.gz mkdir /gis mv Maps / gis mv Dependent /home/ uav chmod + x /home/ uav/Dependent/ gdal/bin/ * chmod + x /home/ uav/Dependent/ OpenBLAS /bin/ * echo - e '\nPATH= $PATH :/home/ uav/Dependent/ gdal/bin\n'>> / etc/profile echo -e '\nLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/ home/uav/ Dependent /gdal/ bin:/home/ uav/Dependent/ gdal/lib:/ home/uav/ Dependent /arma/ usr/lib64:/ home/uav/ Dependent /OpenBLAS/ lib\n'>> /etc/ profile source /etc/ profile gdalinfo -- version echo - e '\n/usr/ lib\n/usr/ local/lib\n/ home/uav/ schedule/Audit\n/ home/uav/ schedule/Route\n/ home/uav/ schedule/RouteNet\n/ home/uav/ Dependent /OpenBLAS/ lib\n/home/ uav/Dependent/ gdal/lib\n/ home/uav/ Dependent /arma/ usr/lib64'>> / etc/ld.so.conf ldconfig mv schedule / home/uav cd / home/uav/ schedule/Main chmod +x Traffic chmod +x guardSchedule.sh ./ guardSchedule.sh &
echo -e '\n/home/uav/schedule/Main/guardSchedule.sh &' >> /etc/rc.local chmod +x /etc/rc.local
安全防护通用操作
防火墙 (1). 永久性开启和关闭防火墙. 重启后生效
开启:systemctl enable firewalld.service
关闭:systemctl disable firewalld.service
(2). 临时开启和关闭防火墙,重启后失效
开启:systemctl start firewalld
关闭:systemctl stop firewalld
(3).查看防火墙状态
firewall-cmd --state
(4).重启防火墙
systemctl restart firewalld
(5).开放一个端口, 例如80
firewall-cmd --permanent --add-port=80/tcp
开放多个端口, 例如10000~20000
firewall-cmd --permanent --add-port=10000-20000/tcp
(6).关闭一个端口, 例如80
firewall-cmd --permanent --remove-port=80/tcp
关闭多个端口, 例如10000~20000
firewall-cmd --permanent --remove-port=10000-20000/tcp
(7).查看端口开放情况
firewall-cmd --permanent --list-ports
5.2.selinux
(1). 永久性开启和关闭selinux. 重启后生效
开启:
echo 'SELINUX=enforcing\nSELINUXTYPE=targeted' > /etc/selinux/config
关闭:
echo 'SELINUX=disabled\nSELINUXTYPE=targeted' > /etc/selinux/config
(2). 临时开启和关闭selinux,重启后失效
开启:setenforce 1
关闭:setenforce 0
(3).查看selinux状态
getenforce
输出Enforcing表示运行中;输出Permissive表示已停止
相关免费在线工具 curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown转HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
HTML转Markdown 将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
JSON 压缩 通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online