我正在尝试将Twilio API集成到我的Rails应用程序中。我发现的教程建议使用ngrok将我的应用程序放到互联网上(而不是在localhost上工作)。我已经安装并升级了ngrok,当我尝试从它所在的目录调用它时,我得到:
-bash: ngrok: command not found.有人知道我的问题出在哪里吗?还有人能解释一下ngrok和部署到heroku有什么区别吗?如果heroku也这么做,我会这么做的。不过,我刚开始使用API,所以我不清楚为什么要使用ngrok。
谢谢!
发布于 2014-10-20 00:45:46
如果二进制文件不在存储在环境变量$PATH中的某个文件夹中,则必须至少提供当前位置的相对路径。因此,如果您与二进制文件在同一文件夹中,则必须使用./ngrok调用它
发布于 2015-11-29 21:16:56
要从任何目录访问,我必须将二进制文件移动到$PATH
mv ngrok /usr/local/bin 以便从任何地方调用可执行文件。
更新:brew install ngrok不再工作,因为:
Error: No available formula with the name "ngrok"
Upstream sunsetted 1.x in March 2016 and 2.x is not open-source.所以你需要从https://ngrok.com/download下载二进制文件
至于问题“ngrok对Heroku做了什么?”,ngrok与Heroku完全不同,Heroku更复杂。Ngrok允许您使用安全隧道在internet上公开正在运行的本地服务器。Heroku是一个用于web应用程序的云托管平台。要使用ngrok,只需运行本地服务器并通过ngrok公开它即可。任何通过ngrok连接到您的服务器的人实际上都是在与运行您的本地计算机的服务器通信。使用Heroku,您的应用程序可以在云中托管的虚拟机上运行。这过于简单了,但简而言之,NGROk非常适合一些远程用户非常快速地测试您的服务器。它对于从虚拟化环境中传输文件/数据等也很有用,比如云ssh会话。
发布于 2016-04-14 06:53:09
命令已更改为: ngrok http 80
来自ngrok的示例:
ngrok http 80 #端口80 web服务器的安全公共URL ngrok http tcp 8080 #端口8080在baz.ngrok.io上可用ngrok http TCP foo.dev:80 #到主机的隧道:端口而不是本地主机ngrok TCP 22 #将任意TCP流量隧道到端口22 ngrok TLS -hostname=foo.com 443 # foo.com流量到端口443 ngrok start foo bar baz #从配置文件
启动隧道
https://stackoverflow.com/questions/26452816
复制相似问题