- 支持 TCP / WebSocket 监听,配置热重载,systemd 集成 - meshAuthHook 实现用户名/密码认证与 ACL - meshLogHook 打印所有 MQTT 事件(CONNECT/PUBLISH/SUBSCRIBE 等) - meshDBHook 将 msh/# 主题 payload 异步写入数据库 - 数据库支持 SQLite(默认)和 MySQL,自动初始化并补充缺失配置 - payload_log 表字段:ID、client、topic、qos、payload、created_at、sender_ip - 自动补充 config.yaml 缺失字段(文件存在时写回) - .gitignore 屏蔽 data/ 和 .workbuddy/
32 lines
695 B
Desktop File
32 lines
695 B
Desktop File
[Unit]
|
|
Description=meshgo MQTT Broker
|
|
Documentation=https://github.com/mochi-mqtt/server
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
# 以 root 运行以便绑定 1883 端口;如已设置 CAP_NET_BIND_SERVICE 可改为普通用户
|
|
User=root
|
|
Group=root
|
|
|
|
# 二进制路径,编译后 cp meshgo /usr/local/bin/meshgo
|
|
ExecStart=/usr/local/bin/meshgo
|
|
|
|
# systemctl reload meshgo → 发送 SIGHUP → 热重载配置
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
|
|
|
Restart=on-failure
|
|
RestartSec=5s
|
|
|
|
# 日志输出交由 journald 接管
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=meshgo
|
|
|
|
# 资源保护(可选)
|
|
PrivateTmp=true
|
|
NoNewPrivileges=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|