随着版本更新,这个问题我已经没遇到过了,此方法也许会为无用功

一句话:别用默认的service方式,改用supervisor

1.首先停掉并删掉自带的进程守护

停止
systemctl stop nezha-agent
systemctl disable nezha-agent
删除
rm /etc/systemd/system/nezha-agent.service

2.使用supervisor

如果安装了运维面板并且已经安装了supervisor,直接在面板里添加守护就行

​运行路径
/opt/nezha/agent/
启动命令
/opt/nezha/agent/nezha-agent -s {未接入CDN的域名:agent端口号} -p {秘钥} --disable-auto-update
(这里禁用了自动更新)

不用面板看这里:安装supervisor
apt-get install supervisor
进入配置目录~
cd /etc/supervisor/conf.d
~创建配置文件
touch nezha-agent.conf
文件内容
[program:nezha-agent]
command                 = /opt/nezha/agent/nezha-agent -s {未接入CDN的域名:agent端口号} -p {秘钥} --disable-auto-update
directory               = /opt/nezha/agent/
startsecs               = 3
autostart               = true
autorestart             = true
user                    = root
priority                = 999
numprocs                = 1
process_name            = %(program_name)s_%(process_num)02d

保存并退出,这时候我们可以执行下面的命令来启动supervisor

supervisord

可能会报错,大概率是因为端口被占用了,杀掉占用端口的进程就行。
我图方便直接重启也可以。
重启之后就很稳的启动了

最后修改:2024 年 07 月 13 日