在 Ubuntu 系统中为 frpc 设置开机自启(以 frpc -c frpc.toml
命令为例),可以通过 systemd
服务实现。以下是详细步骤:
创建 systemd 服务文件
sudo vim /etc/systemd/system/frpc.service
写入以下内容(根据你的路径调整):
APP 中接收数据代码:
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/frpc -c /path/to/frpc.toml # 替换为你的 frpc 路径和配置文件路径
WorkingDirectory=/path/to/frpc_directory # 可选:设置工作目录
[Install]
WantedBy=multi-user.target
关键参数说明:
ExecStart
:启动 frpc 的命令(确保路径正确)。User=nobody
:以低权限用户运行(安全建议)。Restart=on-failure
:崩溃后自动重启。WorkingDirectory
:指定 frpc 的工作目录(如配置文件或日志的相对路径依赖此目录)。
设置权限并启用服务
sudo chmod 644 /etc/systemd/system/frpc.service # 设置文件权限
sudo systemctl daemon-reload # 重新加载 systemd 配置
sudo systemctl enable frpc # 启用开机自启
sudo systemctl start frpc # 立即启动服务
sudo systemctl status frpc # 检查状态
验证日志
journalctl -u frpc -f # 实时查看日志
如果遇到错误,检查:
- frpc 可执行文件路径是否正确。
- frpc.toml 配置文件路径及内容是否有效。
- 端口是否被占用或防火墙是否放行。
管理命令
操作 | 命令 |
---|---|
启动 frpc | sudo systemctl start frpc |
停止 frpc | sudo systemctl stop frpc |
重启 frpc | sudo systemctl restart frpc |
禁用开机自启 | sudo systemctl disable frpc |
查看服务状态 | sudo systemctl status frpc |
卸载服务
sudo systemctl stop frpc
sudo systemctl disable frpc
sudo rm /etc/systemd/system/frpc.service
sudo systemctl daemon-reload