记录ngrok的安装过程
准备
- 一台linode服务器,系统 Centos 7 amd64
- 一个公网域名 zhouyanbo.com
一、安装软件
1. 安装gcc
1 | yum install gcc |
2. 安装go环境
下载最新的go版本1
wget https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
解压1
tar -C /usr/local/ -zxvf go1.9.2.linux-amd64.tar.gz
添加环境变量1
vim /etc/profile
在文件中写入以下两行1
2export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
保存退出,执行下面命令使生效1
source /etc/profile
命令行中输入go version 输出版本号即为安装成功
二、在服务器上搭建ngrok服务
1. 下载ngrok源码
1 | cd /usr/local/src |
2. 生成证书
1 | cd ngrok |
替换原有证书
1 | cp rootCA.pem assets/client/tls/ngrokroot.crt |
3. 服务端编译生成ngrokd
1 | GOOS=linux GOARCH=amd64 make release-server |
编译成功后在当前目录的bin目录下可找到ngrokd文件
4. 编译生成ngrok客户端
1 | GOOS=darwin GOARCH=amd64 make release-client |
完成后会在 /usr/local/src/ngrok/bin/darwin_amd64/ 下发现 ngrok 文件, 用rsync命令拷贝文件到Mac上
5. mac上编写ngrok配置文件
1 | server_addr: "zhouyanbo.com:8083" |
6. 服务端开启服务,客户端连接
服务端1
./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="$NGROK_DOMAIN" -httpAddr=":80" -httpsAddr=":8082" -tunnelAddr=":8083"
客户端1
./ngrok -config ngrok.cfg start http https
连接成功后会显示如下
1 | Tunnel Status online |
接下来在本地搭建项目,开启8090端口,就可以通过ngrok.zhouyanbo.com来访问了,以上步骤参考这里
三、问题
由于zhouyanbo.com放有我的个人bolg网站,使用80端口,搭建ngrok服务是为了微信公众号服务端在本地调试功能,只能使用80端口,两个办法解决
- 再买个域名
- 调试微信公众号的时候关闭blog站点