使用 Systemctl 后台运行特定的应用(以 FRP 为例)

要使用 systemctl 将 FRP 设置为系统服务并实现开机自启,可以按照以下步骤操作:

1. 创建 frp 服务文件

假设 frp 的服务端(即 frps )在云服务器上、客户端在家中服务器上,以下以服务端为例。将服务文件放置在 /etc/systemd/system/ 目录下:

1
sudo vim /etc/systemd/system/frps.service

在文件中添加以下内容(适用于 frp 服务端):

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=FRP Server Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/frp/frps -c /etc/frp/frps.toml
Restart=on-failure

[Install]
WantedBy=multi-user.target

本文以 /opt/frp/frps/etc/frp/frps.toml 作为 frps 程序及配置文件的路径。在实际操作时,请替换为实际的路径。

对于 frp 客户端,可以创建类似的 frpc.service 文件,配置路径改为 frpcfrpc.toml

注意, frp 会使用 .ini.toml 两种不同的配置文件,其写法格式有出入,请确认好再编辑,本文以 .toml 为例。

2. 设置服务自启并启动服务

  1. 重新加载 systemd 配置:

    1
    sudo systemctl daemon-reload
  2. 设置 frps 服务为开机自启:

    1
    sudo systemctl enable frps
  3. 启动 frps 服务:

    1
    sudo systemctl start frps
  4. 检查服务状态:

    1
    sudo systemctl status frps

3. 测试服务是否正常运行

使用 systemctl status frps 检查服务状态。如果显示 active (running),则说明 frp 客户端已成功启动并运行。

注意事项

  • 如果运行出现问题需要调试日志,可以查看 journalctl -u frps 的输出。