1. 程式人生 > >樹莓派設定frpc開機啟動

樹莓派設定frpc開機啟動

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