美文网首页我用 LinuxLinux阿里云
aliyun服务器下实现ngrok服务端开机自启动注意事项

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

作者: 沙子硅 | 来源:发表于2017-09-29 14:20 被阅读1112次

    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
    很好,启动成功,问题解决!

    相关文章

      网友评论

        本文标题:aliyun服务器下实现ngrok服务端开机自启动注意事项

        本文链接:https://www.haomeiwen.com/subject/creiextx.html