接上一篇的搭建完ngrok后,次日早上发现ngrok服务端停止工作了,查看日志发现是凌晨4点被阿里云的检查访问后内存溢出了,经过查询资料了解,是ngrok1.X版本都存在这个问题,但是2.0版本是不开放的,也就是源代码里面有这个问题,又不懂go语言,就采用了在服务端用脚本来检查ngrok进程,发现进程停止了就重启。
1.编写脚本文件restartng.sh
sudo vim restartng.sh
#!/bin/sh
while true
do
ps -ef | grep "ngrok" | grep -v "grep"
if [ $? -eq 0 ]
then
echo "$?"
echo "ngrok process already started!"
else
echo "$?"
nohup /usr/local/ngrok/bin/ngrokd -tlsKey=/usr/local/ngrok/server.key -tlsCrt=/usr/local/ngrok/server.crt -domain="trans.emeet.ai" -httpAddr=":8081" -httpsAddr=":8082" >/usr/local/ngrok/output 2>&1 &
echo "ngrok process has been restarted!"
fi
sleep 30
done
2.授权文件执行权限
sudo chomd 777 tom.sh
3.nohub命令启动,让后台一直运行
sudo nohup ./restartng.sh >restartoutput 2>&1 &
日志文件输出到restartoutput