解决v2rayA在重启后没有启动代理的问题
systemd 默认采用 KillMode=control-group 模式,在停止或重启服务时会强行杀死该服务控制组内的所有进程。这可能导致 v2rayA 在关机或重启时未能正常保存或清理状态,进而引发宿主机重启后代理无法自动启动。将模式改为 KillMode=process,可以确保 systemd 仅终止主进程,避免子进程被误杀。
操作步骤
1. 创建 systemd 配置重写目录
为 v2raya 服务创建独立的配置扩展目录:
1 | mkdir -p /etc/systemd/system/v2raya.service.d/ |
2. 创建并编辑配置文件
使用 nano 编辑器新建名为 fix-killmode.conf 的配置文件:
1 | nano /etc/systemd/system/v2raya.service.d/fix-killmode.conf |
3. 写入配置内容
在打开的文件中粘贴以下文本,重写默认的 KillMode 参数:
1 | [Service] |
保存并退出(在 nano 中按 Ctrl+O 再按 Enter 保存,最后按 Ctrl+X 退出)。
4. 重载配置并重启服务
刷新 systemd 服务配置以使改动生效,并重启 v2rayA:
1 | systemctl daemon-reload |
重启后使用命令 sudo systemctl status v2raya.service 查看应该如下
1 | ● v2raya.service - A web GUI client of Project V which supports VMess, VLESS, SS, SSR, Trojan, Tuic and Juicity protocols |
出现这个 /usr/local/bin/v2raya_core run --config=/usr/local/etc/v2raya/config.json 就是正常的。
具体原因可以查看github上面这个讨论