使用 supervisor 配置 ngrok 内网穿透为守护进程
需求
最近在做文件在线预览的功能,需要借助到 Office Online。在它提供的接口后面加上需要预览的文件在线地址就可以实现在线预览了。
这就需要我们的文件地址是 Office Online 能够访问到的。所以在本地开发的时候使用了[ngrok][1]来实现内网穿透,以便很方便地进行调试。
ngrok
ngrok 是一款免费的内网穿透工具。当然,它也提供一些付费的高级服务。这里,我们只用到它的免费功能。
它的基本使用很简单,下载解压后就可以使用了,基本不需要配置什么东西。这里以 Ununtu
系统为例。
执行后会看到以下的界面
访问 http://addbf53b4ebc.ngrok.io
即可访问到本地的http://localhost:4000
supervisor
Supervisor 是一款进程控制工具,主要用它来实现把 ngrok
作为守护进程在后台运行。
安装
它的安装方式有很多种,这里使用apt
命令来安装。更多的安装方式可以去文档 查看。
使用
supervisor
安装完后,会生成三个可执行程序:supervisord
、supervisorctl
和 echosupervisordconf
。它们所在的位置如下:
supervisord
: 用于管理 supervisor 本身的服务supervisorctl
: supervisor 管理后台进程的服务echo_supervisord_conf
:用于生成 supervisor 的配置文件
配置文件及日志存放位置:
supervisorctl
命令
新增 ngrok 守护进程
通过前面对 ngrok
和 supervisor
的了解,我们可以开始使用 supervisor
把 ngrok
添加到系统的守护进程中。
注册 ngrok 并生成账户配置
ngrok
可以下载后直接使用,但有一个很严重的问题是它提供的免费域名隔一段时间后会失效。注册账户后,可以保持免费的域名一直可以使用,不需要付费。
新增 ngrok 配置文件
注意事项:
执行
ngrok
命令需加上-log stdout
参数,不然服务启动后不会输出日志的
ngrok
的--authtoken
参数为注册账号后,app分配的。使用该参数后,ngrok
的域名会一直保持。对于没有注册账号直接使用,一段时间后,域名会失效。
运行
参考文档:
1. https://ngrok.com/docs
2. https://ngrok.com/download
3. https://zhuanlan.zhihu.com/p/147305277
4. http://supervisord.org/configuration.html
5. https://gist.github.com/ifnull/6a1f6602c99816757f65a26c278a1dc
版权声明: 本文为 InfoQ 作者【jerry.mei】的原创文章。
原文链接:【http://xie.infoq.cn/article/4404b2658d06d55871604f4dc】。文章转载请联系作者。
评论