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 = 命令行模式)

常见问题排查

  1. 启动失败

    • 检查脚本路径和权限:
      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
      
  2. 日志分析

    journalctl -u frpc.service --no-pager -n 50  # 查看最近50行日志
    
  3. 卸载服务

    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 监控。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星梦客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值