使用 systemd 配置 frp 服务
该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/post/2023/11/12/systemd-service-for-frp/
此前都使用 Docker 来运行 frp 客户端,现在改成直接在主机上运行 frp 客户端,使用 systemd 来管理 frp 服务。
设定
- 这是 frp 客户端(frpc)的配置,但服务端(frps)也适用,只需替换命令,并使用 frps 的配置文件即可。
frpc
命令的路径为/usr/bin/frpc
。- 配置文件存放在
/etc/frp.d
目录下。
只需要配置一个使用 systemd 管理的 frp 服务,在网络启动时自动启动 frp 服务即可,参考配置如下:
1[Unit]
2Description=FRP Client
3Documentation=https://github.com/fatedier/frp
4After=network.target network-online.target
5[Service]
6Type=simple
7ExecStart=/usr/bin/frpc -c /etc/frp.d/frpc.ini
8Restart=always
9[Install]
10WantedBy=multi-user.target
将这个 systemd 服务配置写到 /usr/lib/systemd/system/frpc.service
文件里。
随后将你的 frpc 配置文件写到 /etc/frp.d/frpc.ini
。
然后执行如下命令,配置开机启动,并立即启动。
1sudo systemctl daemon-reload
2sudo systemctl enable --now frpc
最后,执行如下命令确认是否启动成功。
1sudo systemctl status frpc
如无意外,应该可以看到类似如下的输出:
1● frpc.service - FRP Client
2 Loaded: loaded (/usr/lib/systemd/system/frpc.service; enabled; preset: disabled)
3 Active: active (running) since Sun 2023-11-12 13:51:33 CST; 15min ago
4 Docs: https://github.com/fatedier/frp
5 Main PID: 2063 (frpc)
6 Tasks: 8 (limit: 19175)
7 Memory: 21.4M
8 CPU: 206ms
9 CGroup: /system.slice/frpc.service
10 └─2063 /usr/bin/frpc -c /etc/frp.d/frpc.ini
注意
如果需要对接多个远端 frps 服务器,也可以配置多个服务,将上面的配置复制多份,命名为不同的服务名和文件名即可。
comments powered by Disqus