1、复制frpc启动命令及配置文件到系统相应目录:
$ sudo cp frpc /usr/local/bin/frpc
$ sudo mkdir /etc/frc
$ sudo cp frpc.ini /etc/frc/frpc.ini
2、为frpc配置systemd的service文件:
$ sudo nano /usr/lib/systemd/system/frpc.service
[Unit]
Description=frpc
After=multi-user.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frpc/frpc.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
这里一开始配置为
Wants=network-online.target
After=network.target network-online.target
Requires=network-online.targe
时,即等待网络服务启动完成后再启动frpc服务,但是开机自动启动失败,报错:
$ sudo systemctl status frpc
● frpc.service - frpc
Loaded: loaded (/usr/lib/systemd/system/frpc.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2018-10-04 23:42:08 CST; 1min 8s ago
Process: 441 ExecStart=/usr/local/bin/frpc -c /etc/frpc/frpc.ini (code=exited, status=1/FAILURE)
Main PID: 441 (code=exited, status=1/FAILURE)
Oct 04 23:42:07 raspberrypi systemd[1]: Started frpc.
Oct 04 23:42:08 raspberrypi frpc[441]: dial tcp xxx.xxx.xxx.xxx:7000: connect: network is unreachable
Oct 04 23:42:08 raspberrypi systemd[1]: frpc.service: Main process exited, code=exited, status=1/FAILURE
Oct 04 23:42:08 raspberrypi systemd[1]: frpc.service: Unit entered failed state.
Oct 04 23:42:08 raspberrypi systemd[1]: frpc.service: Failed with result 'exit-code'.
这里尚未找到为什么设置网络服务启动后再启动frpc服务时会网络连接失败的原因。
尝试多次未果,直接设置为
After=multi-user.target
即系统启动完成之后再启动frpc服务,便能正常开机后自动启动frpc服务。
3、使frpc服务生效:
$ sudo systemctl enable frpc
#查看服务是否生效
$ sudo systemctl list-units |grep frpc
frpc.service loaded active running frpc