为了在任何地方远程处理树莓派,我在Aliyun服务器中部署了FRP服务器,然后在Raspberry Pi中部署了FRP客户端。为了方便RaspberryPi重启后的连接,我编写了一个自动启动脚本,如下所示:
#!/bin/bash
# check network availability
while true
do
TIMEOUT=5
SITE_TO_CHECK="www.baidu.com"
RET_CODE=`curl -I -s --connect-timeout $TIMEOUT $SITE_TO_CHECK -w %{http_code} | tail $
if [ "x$RET_CODE" = "x200" ]; then
echo "Network OK, Start Frp..."
break
else
echo "Network not ready, wait..."
sleep 1s
fi
done
# Start Frp
sudo /usr/local/frp/frpc -c /usr/local/frp/frpc.ini &
FRP的目录和访问权限:
pi@raspbian:~$ ls -al /usr/local/frp/frpc*
-rwxr-xr-x 1 pi sudo 10092544 Nov 28 14:27 /usr/local/frp/frpc
-rw-r--r-- 1 pi sudo 7310 Nov 28 14:31 /usr/local/frp/frpc_full.ini
-rw-r--r-- 1 pi sudo 290 Dec 18 16:22 /usr/local/frp/frpc.ini
rc.local的内容:
root@raspbian:~# cat /etc/rc.local
#!/bin/sh -e
#
#/usr/sbin/gen-server-key
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
#
#
#
/bin/sh /boot/rc-local
#
#
## Disable brcmfmac: power management
iwconfig wlan0 power off 2>/dev/null
#
## Enable time set ntp True
## timedatectl set-ntp True 2>/dev/null
#
#start owncloud server in docker
docker-compose -f /root/owncloud-docker-server/docker-compose.yml up -d
#
#start frp service
/bin/startfrpc.sh >> /dev/null 2>&1
exit 0
rc.local的访问权限:
root@raspbian:~# ls -al /etc/rc.local
-rwxr-xr-x 1 root root 636 Dec 18 23:32 /etc/rc.local
全部完成。重新启动raspberrypi,运行ps -A | grep frp
,但不返回任何内容,FRP服务也不会启动。
我需要您的帮助,谢谢!