1

我使用了一个非常简单的 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

日志级别:调试

4

0 回答 0