Systemd 服务配置完整指南
以下是整理后的 Systemd 服务配置教程,以您提供的 frpc.service
文件为例:
1. 创建服务文件
在 /etc/systemd/system/
目录下创建服务配置文件(需 root 权限):
sudo nano /etc/systemd/system/frpc.service
2. 编写服务配置
将以下内容粘贴到文件中(根据您的路径修改 ExecStart
):
[Unit]
Description=frpc # 服务描述
After=network.target # 指定依赖关系(网络就绪后启动)[Service]
Type=simple # 服务类型(默认)
User=nobody # 可选:指定运行用户(如 root)
ExecStart=/home/soft/frp_0.59.0_linux_amd64/start.sh # 启动命令
Restart=on-failure # 失败时自动重启
RestartSec=5s # 重启间隔[Install]
WantedBy=multi-user.target # 多用户模式启用
3. 设置权限并重载配置
sudo chmod 644 /etc/systemd/system/frpc.service # 设置文件权限
sudo systemctl daemon-reload # 重新加载 systemd 配置
4. 管理服务
# 启用开机自启
sudo systemctl enable frpc.service# 立即启动服务
sudo systemctl start frpc.service# 检查状态
sudo systemctl status frpc.service# 查看日志
journalctl -u frpc.service -f
5. 关键参数说明
参数 | 作用 |
---|---|
Type=simple | 默认类型,主进程退出即视为服务停止 |
Restart=on-failure | 仅在异常退出时重启(可选 always ) |
WantedBy | 定义服务所属运行级别(multi-user.target = 命令行模式) |
常见问题排查
-
启动失败
- 检查脚本路径和权限:
ls -l /home/soft/frp_0.59.0_linux_amd64/start.sh chmod +x /home/soft/frp_0.59.0_linux_amd64/start.sh
- 手动运行脚本测试:
/home/soft/frp_0.59.0_linux_amd64/start.sh
- 检查脚本路径和权限:
-
日志分析
journalctl -u frpc.service --no-pager -n 50 # 查看最近50行日志
-
卸载服务
sudo systemctl stop frpc.service sudo systemctl disable frpc.service sudo rm /etc/systemd/system/frpc.service
附:start.sh
脚本建议
确保您的启动脚本具有可执行权限,并避免后台运行(&
),例如:
#!/bin/bash
/home/soft/frp_0.59.0_linux_amd64/frpc -c /home/soft/frp_0.59.0_linux_amd64/frpc.ini
按此配置后,frpc
服务将随系统自动启动并受 systemd 监控。