在OpenWrt上手动部署Beszel Agent服务指南
在OpenWrt上手动部署Beszel Agent服务指南
OpenWrt系统默认不使用systemd
,因此不支持systemctl
命令。本文将详细介绍如何通过手动方式在OpenWrt上创建和管理Beszel Agent服务。
准备工作
- 确保你的OpenWrt设备已联网
- 通过SSH连接到OpenWrt设备
- 确认设备架构(一般会自动检测,但建议了解)
安装步骤
1. 下载二进制文件
使用以下命令自动下载适合你设备架构的最新版本:
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null && chmod +x beszel-agent
命令说明:
-
curl -sL
:静默下载文件 -
uname -s
:获取系统类型(Linux等) -
uname -m
:获取机器架构 -
sed
命令:将常见架构名称转换为Go语言使用的标准名称 -
chmod +x
:赋予可执行权限
2. 安装到系统目录
mv beszel-agent /usr/bin/
3. 创建init脚本
OpenWrt使用自己的初始化系统procd
,我们需要创建对应的服务脚本:
vi /etc/init.d/beszel
将以下内容粘贴到文件中:
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=95
STOP=01
APP_NAME="beszel-agent"
APP_PATH="/usr/bin/beszel-agent"
APP_PIDFILE="/var/run/beszel.pid"
start_service() {
procd_open_instance
procd_set_param command "$APP_PATH" -listen "45876" -key ""
procd_set_param respawn # 进程崩溃后自动重启
procd_set_param pidfile "$APP_PIDFILE"
procd_set_param stdout 1 # 重定向标准输出到日志
procd_set_param stderr 1 # 重定向错误输出到日志
procd_close_instance
}
stop_service() {
killall "$APP_NAME"
}
参数说明:
-
START=95
:设置服务启动顺序(数字越大启动越晚) -
STOP=01
:设置服务停止顺序(数字越小停止越早) -
respawn
:进程意外终止时自动重启 -
stdout/stderr
:将输出重定向到系统日志
4. 设置权限并启用服务
chmod +x /etc/init.d/beszel # 添加可执行权限
/etc/init.d/beszel enable # 启用开机自启
/etc/init.d/beszel start # 立即启动服务
5. 验证服务状态
检查服务是否正常运行:
ps | grep beszel
预期应该能看到类似这样的输出:
1234 root 1234 S /usr/bin/beszel-agent -listen 45876 -key
6. 查看服务日志(可选)
logread | grep beszel
管理服务
- 启动服务:
/etc/init.d/beszel start
- 停止服务:
/etc/init.d/beszel stop
- 重启服务:
/etc/init.d/beszel restart
- 查看状态:
/etc/init.d/beszel status
- 禁用开机启动:
/etc/init.d/beszel disable
常见问题
- 端口冲突:如果45876端口已被占用,请修改脚本中的端口号
- 权限问题:确保
/usr/bin/beszel-agent
有可执行权限 - 启动失败:检查日志
logread
获取详细错误信息 - 架构不匹配:如果自动检测的架构不正确,可以手动下载对应版本
升级方法
- 停止旧服务:
/etc/init.d/beszel stop
- 下载新版本(同安装步骤)
- 启动服务:
/etc/init.d/beszel start
通过以上步骤,你的Beszel Agent应该已经在OpenWrt上正常运行并设置了开机自启。
评论
其他文章