Featured image of post 把 frpc 变成 systemd 服务,开机自启 + 崩溃自动重启

把 frpc 变成 systemd 服务,开机自启 + 崩溃自动重启

Badge

之前一直用 screen 跑 frpc,手滑关掉就断了。改成 systemd 服务后:

  • 开机自动启动
  • 进程挂了 5 秒后自动重启
  • systemctl 统一管理,不用再记 screen 会话名

一键部署脚本

FRP_DIR 改成你实际的 frp 安装目录,然后跑一遍就行:

# 你的 frp 安装目录,改成实际路径
FRP_DIR=/home/kasusa/frp_0.60.0_linux_amd64

sudo tee /etc/systemd/system/frpc.service << EOF
[Unit]
Description=FRP Client
After=network.target

[Service]
Type=simple
User=$(whoami)
WorkingDirectory=${FRP_DIR}
ExecStart=${FRP_DIR}/frpc -c ${FRP_DIR}/frpc.toml
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now frpc

如果后续手动修改路径

直接编辑 service 文件:

sudo nano /etc/systemd/system/frpc.service

需要改的地方就两行:

WorkingDirectory=/你的frp目录
ExecStart=/你的frp目录/frpc -c /你的frp目录/frpc.toml

改完后重新加载:

sudo systemctl daemon-reload
sudo systemctl restart frpc

日常管理

sudo systemctl status frpc     # 查看状态
sudo systemctl stop frpc       # 停止
sudo systemctl start frpc      # 启动
sudo systemctl restart frpc    # 重启
journalctl -u frpc -f          # 实时日志

是的,它会自启动

systemctl enable 已经把 frpc 加入了开机自启。服务器重启后会自动拉起,不用手动进 screen 了。

Licensed under CC BY-NC-SA 4.0
爱分享
使用 Hugo 构建
主题 StackJimmy 设计