当前位置: 首页 > ops >正文

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

http://www.xdnf.cn/news/13655.html

相关文章:

  • Ollama vs. vLLM
  • 魔百和网络机顶盒CM211-1硬件解析
  • 第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 循环位运算、分割字符串 、 粉刷匠小蓝 】
  • windows下载postman后安装失败,提示installation has failed,解决方案亲测有效
  • 使用Python和PyTorch框架,基于RetinaNet模型进行目标检测,包含数据准备、模型训练、评估指标计算和可视化
  • Jinja2 模板在 Python 和 LLM 提示词编辑器中的应用
  • Pycharm常用命令
  • day02——数据类型、运算符
  • VMware 虚拟机开机自启动配置指南
  • Java中wait()为何必须同步调用?
  • MPMA:Preference Manipulation Attack Against Model Context Protocol
  • AI常用工具指南
  • 【评测】Qwen3-embedding 0.6B和8B召回效果评估
  • 安全有效的 C 盘清理方法
  • 专业天猫代运营托管公司推荐
  • ABB RobotStudio 和 S7-PLCSIM Advanced V5.0 搭建虚拟通信环境,实现 PLC 对机器人布尔量、数字量和模拟量的控制。
  • 台湾TEMI协会竞赛——2、足球机器人组装教学
  • LMD分解通过局部均值分解重构信号实现对信号的降噪
  • tcping工具使用指南
  • Sentieon 项目文章 | 长读长基因组测序在神经发育障碍分子诊断中的应用
  • Endnote做中英文参考文献/自定义参考文献类型
  • AI测试用例生成的基本流程与实践
  • Java 8 Map 新增方法详解
  • 算法导论第一章:算法基础与排序艺术
  • Linux安装C语言环境教程
  • 【Log4j2】Log4j2动态获取Linux主机名实战、环境变量解析原理(踩坑指南)
  • 安装WSL
  • 图像处理 | 有没有现成的动态调整ClipLimit工具?
  • npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js`
  • Linux 内核学习(11) --- Linux 链表结构