目 录CONTENT

文章目录

chfs 文件服务器开机自启服务配置

DUSHE
2025-01-07 / 0 评论 / 9 点赞 / 91 阅读 / 1,575 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2025-01-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

chfs文件服务器开机自启服务配置

前言

在 Linux 系统中,将应用程序设置为开机自启服务是一种常见的需求。本文将介绍如何为 CHFS 文件服务器 配置开机自启服务。通过以下步骤,您可以确保在系统启动时,CHFS 文件服务器自动启动并保持运行。

CHFS(Charming File System)是一个轻量级、专为高性能文件存储设计的分布式文件系统。您可以通过 官网 了解更多信息。

安装方法参考:在OpenWrt上安装chfs文件服务器


配置步骤

1. 创建 Systemd 服务文件

我们将使用 Systemd 来配置 CHFS 文件服务器的开机自启。首先,创建一个新的服务单元文件:

sudo vim /etc/systemd/system/chfs.service

2. 配置服务文件内容

将以下内容粘贴到新创建的 chfs.service 文件中:

[Unit]
Description=chfs service

[Service]
Type=simple
ExecStart=<填写你的文件路径>/chfs-linux-arm64-3.1 --file <填写你的文件路径>/chfs.ini
ExecStop=/usr/bin/killall chfs-linux-arm64-3.1
Restart=on-failure
StandardOutput=append:<填写你的文件路径>/nohup.out
StandardError=append:<填写你的文件路径>/nohup.out

[Install]
WantedBy=multi-user.target

说明:

以下是你的 chfs.service 文件中各项内容的详细解释:


[Unit]

Description=chfs service

  • 描述服务的功能。
  • 这是一段简单的说明,便于理解服务的用途,比如这里是描述为 chfs 文件服务器。

[Service]

Type=simple

  • 指定服务的类型。
  • simple 表示主进程是由 ExecStart 启动的程序,Systemd 会认为服务启动成功只要该进程启动即可。

ExecStart=<填写你的文件路径>/chfs-linux-arm64-3.1 --file <填写你的文件路径>/chfs.ini

  • 服务启动时执行的命令。
  • <填写你的文件路径> 是实际文件所在的路径。
  • chfs-linux-arm64-3.1 是可执行文件,后面通过 --file 参数指定配置文件路径(chfs.ini)。

ExecStop=/usr/bin/killall chfs-linux-arm64-3.1

  • 服务停止时执行的命令。
  • killall 是一个命令,用于结束指定名称的所有进程,这里用于终止 chfs-linux-arm64-3.1 程序。

Restart=on-failure

  • 服务的自动重启策略。
  • on-failure 表示服务因非正常退出(非 0 返回值)时会自动重启,适用于需要高可用性的场景。

StandardOutput=append:<填写你的文件路径>/nohup.out

  • 定义服务的标准输出日志文件路径。
  • append 表示将输出内容追加到指定的文件(nohup.out)中,而不是覆盖。

StandardError=append:<填写你的文件路径>/nohup.out

  • 定义服务的标准错误日志文件路径。
  • 错误输出内容也会被追加到同一个日志文件(nohup.out)。

[Install]

WantedBy=multi-user.target

  • 定义服务的目标运行级别。
  • multi-user.target 是 Linux 系统中普通多用户模式的运行级别,等效于传统的运行级别 3(多用户,无图形界面)。
  • 当系统进入 multi-user.target 运行级别时,该服务会被启动。

总结

服务文件的各部分作用如下:

  1. [Unit]:提供服务的描述和依赖信息。
  2. [Service]:定义服务的启动、停止命令及日志记录等核心运行参数。
  3. [Install]:指定服务在系统的目标运行级别中如何启动。

你只需要将 <填写你的文件路径> 替换为实际的文件路径,比如:

ExecStart=/home/ysgz/Desktop/chfs/chfs-linux-arm64-3.1 --file /home/ysgz/Desktop/chfs/chfs.ini
StandardOutput=append:/home/ysgz/Desktop/chfs/nohup.out
StandardError=append:/home/ysgz/Desktop/chfs/nohup.out

3. 重载 Systemd 配置

服务文件配置完成后,需要重新加载 Systemd 配置:

sudo systemctl daemon-reload

4. 启动 CHFS 服务

启用并启动服务,使其立即生效:

sudo systemctl start chfs.service

5. 设置开机自启

将服务设置为开机自动启动:

sudo systemctl enable chfs.service

6. 检查服务状态

您可以使用以下命令来检查 CHFS 服务的状态:

sudo systemctl status chfs.service

如果服务启动成功,您将看到类似如下的输出:

● chfs.service - chfs service
   Loaded: loaded (/etc/systemd/system/chfs.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2025-01-07 10:00:00 UTC; 5s ago
 Main PID: 12345 (chfs-linux-arm64)
    Tasks: 4 (limit: 4915)
   Memory: 10.5M
   CGroup: /system.slice/chfs.service
           └─12345 /home/ysgz/Desktop/DUHSE/个人项目/chfs文件服务器/chfs-linux-arm64-3.1 --file /home/ysgz/Desktop/DUHSE/个人项目/chfs文件服务器/chfs.ini

正常访问:

7.重要注意事项

文件路径
请根据实际情况修改配置文件中的路径。例如chfs-linux-arm64-3.1和配置文件的路径要确保正确。

日志输出
配置中的nohup.out文件将保存服务的输出日志,您可以根据需要查看和分析日志。

服务故障排除
如果服务未能启动或出现问题,请使用以下命令查看服务的详细日志:

sudo journalctl -u chfs.service

8.常用命令

服务管理相关

sudo systemctl start chfs.service 启动服务
sudo systemctl stop chfs.service 停止服务
sudo systemctl restart chfs.service 重启服务
sudo systemctl reload chfs.service 重新加载服务(配置文件修改后执行)
sudo systemctl status chfs.service 查看服务状态

开机启动相关

sudo systemctl enable chfs.service 设置服务开机自启
sudo systemctl disable chfs.service 取消服务开机自启
systemctl is-enabled chfs.service 查看服务是否开机自启

服务日志查看

journalctl -u chfs.service -f 查看服务日志(实时更新)
journalctl -u chfs.service 查看服务完整日志
journalctl -u chfs.service --since today 查看最近一次启动的日志:

调试和配置

sudo systemctl daemon-reload 重新加载所有 systemd 配置文件(配置修改后执行)
systemctl list-units --type=service 列出当前运行的服务
sudo systemd-analyze verify /etc/systemd/system/chfs.service 验证服务文件是否有语法问题

9

评论区