aliyun服务器下实现ngrok服务端开机自启动注意事项

aliyun服务器下实现ngrok服务端开机自启动注意事项

前面一篇讲解了在树莓派下实现ngrok客户端的开机自启动,原本以为在aliyun服务器上可以很轻松的实现ngrok服务端的轻松启动,但是却遇到了困难。
按照自启动服务的格式写好了服务脚本:

[Unit]
Description=ngrok
[Service]
Type=simple
ExecStart=/usr/local/ngrok/bin/ngrokd -domain="spursgo.com" -httpAddr=":88"  > /dev/null 2>&1 &
[Install]
WantedBy=multi-user.target

乍一看没有问题,因为我之前就是用 /usr/local/ngrok/bin/ngrokd -domain="spursgo.com" -httpAddr=":88" > /dev/null 2>&1 &指令来启动ngrok服务端的,并且保持在后台运行。

然后,就准备启动了。

systemctl start ngrok

执行后,命令行下没有报错信息,暗自窃喜应该成功了。

systemctl status ngrok

来查看ngrok的执行情况,可是却看到了这样的画面:


aliyun服务器下实现ngrok服务端开机自启动注意事项_第1张图片
ngrok-status

居然启动失败了,很糟糕。赶快看一下报错信息。
咦,好像有一行信息特别重要: Sep 29 14:00:57 centos systemd[1]: ngrok.service: main process exited, code=exited, status=2/INVALIDARGUMENT
出现了一个关键字:INVALIDARGUMENT,参数错误。怎么回事呢?这条指令我不是已经验证过的吗?没有问题呀,为什么还是说参数错误呢?

journalctl | grep -i ngrok

来查询一下我们的运行日志,看能不能找到问题的具体所在:

aliyun服务器下实现ngrok服务端开机自启动注意事项_第2张图片
ngrok-iournalctl

错误信息很多,我们定义到时间最近的,最重要的一条信息好像是: Sep 29 14:00:57 centos ngrokd[28098]: panic: listen tcp: lookup tcp/88": Servname not supported for ai_socktype
百度了一下Servname not supported for ai_socktype,网上说好像是没有指出服务端口,回想一下我们前面明明是指明了端口的呀,但是端口被包含在双引号里面,是不是这个双引号的问题呢?
先试一试吧!
把“:88”的双引号去掉,执行重载服务指令 systemctl daemon-reload ,然后按照前面的指令来启动服务并且查询状态:
aliyun服务器下实现ngrok服务端开机自启动注意事项_第3张图片
ngrok-status

很好,启动成功,问题解决!

你可能感兴趣的:(aliyun服务器下实现ngrok服务端开机自启动注意事项)