当前位置: 首页 > news >正文

Centos 离线部署(MQTT)EMOX脚本并设置开机自启

文件结构

install_emqx.sh

#!/bin/bash
# Filename: install_emqx.sh
# Description: EMQX离线一键部署脚本 (针对特殊目录结构)# 检查root权限
if [[ $EUID -ne 0 ]]; thenecho "请使用root权限运行此脚本!" exit 1
fi# 定义依赖包和安装路径
DEP_RPM="./libaio-0.3.111-22.el10.x86_64.rpm"
EMQX_TAR="./emqx-5.1.4-el7-amd64.tar.gz"
INSTALL_DIR=$(pwd)# 检查文件是否存在
if [[ ! -f $DEP_RPM ]]; thenecho "错误:依赖包 $DEP_RPM 不存在!"exit 1
fiif [[ ! -f $EMQX_TAR ]]; thenecho "错误:EMQX安装包 $EMQX_TAR 不存在!"exit 1
fi# 安装依赖
echo "正在安装依赖库..."
yum localinstall -y $DEP_RPM# 解压EMQX
echo "正在解压EMQX到当前目录..."
tar -zxvf $EMQX_TAR# 创建emqx目录并移动所有解压内容
echo "整理EMQX目录结构..."
mkdir -p emqx
for dir in bin data dynlibs etc erts-* lib log plugins releases; doif [ -d "$dir" ] || [ -e "$dir" ]; thenmv "$dir" emqx/ 2>/dev/nullfi
done# 移动剩余文件
find . -maxdepth 1 -type f -exec mv {} emqx/ \; 2>/dev/null
find . -maxdepth 1 -type d -not -name "emqx" -exec mv {} emqx/ \; 2>/dev/nullEMQX_HOME="${INSTALL_DIR}/emqx"# 验证安装
if [[ ! -d "$EMQX_HOME" ]]; thenecho "错误:无法创建EMQX目录!"exit 1
fi# 创建命令软链接
echo "创建命令软链接..."
ln -sf ${EMQX_HOME}/bin/emqx /usr/local/bin/emqx
ln -sf ${EMQX_HOME}/bin/emqx_ctl /usr/local/bin/emqx_ctl# 创建systemd服务
echo "创建systemd服务..."
cat > /etc/systemd/system/emqx.service <<EOF
[Unit]
Description=EMQX Broker
After=network.target[Service]
Type=forking
Environment=EMQX_ROOT_DIR=${EMQX_HOME}
ExecStart=${EMQX_HOME}/bin/emqx start
ExecStop=${EMQX_HOME}/bin/emqx stop
ExecReload=${EMQX_HOME}/bin/emqx restart
Restart=on-failure
RestartSec=30s
User=root
Group=root[Install]
WantedBy=multi-user.target
EOF# 重载systemd
systemctl daemon-reload# 启动服务并设置开机自启
systemctl enable emqx
systemctl start emqx# 验证安装
echo "等待5秒后检查EMQX状态..."
sleep 5
if ${EMQX_HOME}/bin/emqx_ctl status >/dev/null 2>&1; thenecho -e "\nEMQX 5.1.4 安装成功!"echo -e "安装目录: ${EMQX_HOME}"echo -e "管理命令: systemctl [start|stop|status] emqx"echo -e "控制台访问: http://<服务器IP>:18083"echo -e "默认用户名: admin"echo -e "默认密码: public"
elseecho -e "\n警告:EMQX服务启动异常,请检查以下内容:"echo -e "1. 检查配置文件: ${EMQX_HOME}/etc/emqx.conf"echo -e "2. 查看日志文件: tail -f ${EMQX_HOME}/log/*"echo -e "3. 手动调试命令: ${EMQX_HOME}/bin/emqx console"
fi

相对应的脚本、软件和依赖

emqx-5.1.4-el7-amd64.tar.gz

libaio-0.3.111-22.el10.x86_64.rpm

链接:CentOs离线部署EMOX脚本资源-CSDN库

http://www.lryc.cn/news/572955.html

相关文章:

  • 微软应用商店打不开怎么办2025,打开TLS1.3
  • 第五章 中央处理器
  • GoogLeNet:图像分类神经网络的深度剖析与实践
  • 大内存对电脑性能有哪些提升
  • 1.容器技术与docker环境部署
  • QEMU学习之路(10)— RISCV64 virt 使用Ubuntu启动
  • 微电网系列之微电网的运行控制
  • Python 中设置布尔值参数为 True 来启用验证
  • Unity3D仿星露谷物语开发67之创建新的NPC
  • 【工具教程】识别PDF中文字内容,批量识别文字并保存到Excel表格中的操作步骤和方法
  • 机器学习流量识别(pytorch+NSL-KDD+多分类建模)
  • 信创 CDC 实战|国产数据库的数据高速通道:OceanBase 实时入仓 StarRocks
  • vue3 el-select @change (val) 多参数传值操作
  • KVM -- 虚拟化技术
  • DDoS防护体系构建——从基础限速到智能调度
  • phpstudy无法启动apache,80端口被占用,完美解决
  • phpstudy无法启动mysql,一启动就关闭,完美解决
  • python+uniapp基于微信小程序的高校二手商品交易系统
  • .NET 4.7中使用NLog记录日志到数据库表
  • 上海人工智能实验室明珠湖会议首开,解答AI前沿疑问,推进科学智能
  • python自助棋牌室管理系统
  • AWS EC2使用SSM会话管理器连接
  • Rust 项目文档生成之旅:cargo doc
  • 伸缩线充电宝推荐丨倍思灵动充45W突破移动界限!
  • GDI绘制
  • 如何轻松地将音乐从 iPhone 传输到 Mac?
  • 合并两个有序链表C++
  • 深入理解XGBoost(何龙 著)学习笔记(五)
  • 网络编程简介与Netty实战:从入门到高性能Echo服务器
  • 6、ZYNQ PL UART串口(一)