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的执行情况,可是却看到了这样的画面:


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

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

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 ,然后按照前面的指令来启动服务并且查询状态:
ngrok-status

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 需要先安装go环境设置环境变量12345 # 可以根据自己需要调整路径 echo 'export GORO...
    加菲猫Jack阅读 6,109评论 3 1
  • 1. 编译ngrok 网络上的教程大多是自己编译 git 和 go, 而且 go1.4 以上的版本还需要用 go1...
    suanite阅读 8,515评论 0 4
  • 付出自己最能付出的,换回自己最重要的,就是好的选择。 什么时候才开始了解什么对自己最重要?一是当失去时,二是当遇见...
    yanun阅读 1,397评论 0 0
  • 心博1阅读 747评论 0 0
  • 《成都今夜请将我遗忘》,这是一部在大学时代我们寝室最流行的小说,虽然我一直没有看过这部小说直到昨天,但是我大学时代...
    五点砍柴阅读 3,218评论 0 0