我使用了一个非常简单的 upstart 脚本在启动时运行 ngrok 隧道。
描述“我的服务描述”
从运行级别开始 [2345]
在运行级别停止 [016]
重生
执行 /home/ubuntu/ngrok http 8081
我可以启动它,并且可以看到正在运行的进程:
ubuntu@ubuntu:/etc/init$ ps -ef | grep ngrok
root 27768 1 2 01:56 ? 00:00:04 /home/ubuntu/ngrok http 8081
ubuntu 27809 2688 0 01:59 pts/0 00:00:00 grep --color=auto ngrok
我能够停止该过程。
但是 ngrok 命令并没有创建它应该创建的隧道。如果我使用相应的语法在命令行上运行它,则没有问题。
我是否错误地使用了exec 节?有任何想法吗?
谢谢
更新:
我已经能够使用以下解决方案解决问题(上下文,我使用的是 ngrok 的免费帐户)
新贵初始化文件:
描述“Ngrok upstart 初始化文件”
作者“lps”
从运行级别开始 [2345]
在运行级别停止 [!2345]
重生
脚本
睡眠 20
exec /usr/bin/ngrok http 8081 -log=/home/ubuntu/ngrok.log -log-level=debug -authtoken=************************ *******结束脚本
但我仍然不明白为什么下面的新贵初始化文件不能做同样的事情:
描述“Ngrok upstart 初始化文件”
作者“lps”
从运行级别开始 [2345]
在运行级别停止 [!2345]
重生
脚本
睡 20
执行 /usr/bin/ngrok http 8081
结束脚本
在第二种文件情况下,我的配置文件 ngrok.yml 位于 /home/ubuntu/.ngrok2/ 文件夹中。我将保留 ngrok.yml 文件以防有人想尝试一下(我将此路径中的所有文件和目录更改为 chmod 777,以确保这不是权限问题)。
ngrok.yml
授权令牌:**************************
日志:/home/ubuntu/ngrok.log
日志级别:调试