我使用的Ngrok的启动命令为:
./ngrok -config ngrok.cfg start wwww
但是有几种情况让人很头疼: 1树莓派意外断电; 2.Ngrok的内存泄漏让树莓派意外重启; 3.重启后,要定位到相应的文件夹下敲启动命令。
出现以上情况会让网站不在线,而当不在家时,又不能及时的去敲启动命令。
所以我参考了一些资料,开始琢磨让Ngrok开机自启动。以下是实现方法!
更简单的启动方式 树莓派Ngrok开机自启动实现(ngrok.cc 2.0版本)
1.在ngrok程序目录下新建一个启动脚本 ngrok.sh:
path=/home/pi/Downloads/linux_arm
nohup $path/ngrok -config $path/ngrok.cfg start www wwww yun ssh
这样的话 可以在当前目录直接敲:
sh ngrok.sh
让它起来了。
2.接下来我们还需要把他注册成一个服务,好让它开机自启动。 在 /etc/init.d目录下新建一个服务项目(ngrok)
vim /etc/init.d/ngrok
#!/bin/sh
### BEGIN INIT INFO
# Provides: ngrok
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the ngrok web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
ngrok_path=/home/pi/Downloads/ngrok
start(){
echo "start ngrok service..";
sh ${ngrok_path}/ngrok.sh;
}
stop(){
echo "stop ngrok service..";
killall -9 ngrok;
}
restart(){
killall -9 ngrok && start;
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 (start|stop|restart)"
exit 1
;;
esac
给该文件赋权限755
chmod 755 ngrok
注册ngrok服务自启动
chkconfig --add ngrok
或者
chkconfig ngrok on
检查自启动的服务
chkconfig
这样就大功告成啦!