### 首先先装好一些编译需要使用的工具yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel c
### 首先先装好一些编译需要使用的工具yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++### 安装好Git 最好是1.8+yum install -y git### 安装 Go 一定注意要找 1.4.3版本的 下载地址:https://golang.org/dl/ wget https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gztar -C /usr/local -xzf go1.4.3.linux-amd64.tar.gz### 添加Go的环境变量 首先打开 profile 在最后加上 export PATH=$PATH:/usr/local/go/binvi /etc/profileexport PATH=$PATH:/usr/local/go/bingo version### 下载 ngrok 源码cd /usr/local/git clone https://github.com/inconshreveable/ngrok.gitexport GOPATH=/usr/local/ngrok/export NGROK_DOMAIN="[此处填写你的域名:如: baidu.com]"cd ngrok### 生成SSL证书 用于 Ngrok 服务端和客户端通信认证使用openssl genrsa -out rootCA.key 2048openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pemopenssl genrsa -out server.key 2048openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csropenssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000### 复制证书到 tls下/cp -r rootCA.pem assets/client/tls/ngrokroot.crt/cp -r server.crt assets/server/tls/snakeoil.crt/cp -r server.key assets/server/tls/snakeoil.key### 国内的网络环境需要改一点代码vi /usr/local/ngrok/src/ngrok/log/logger.golog "github.com/keepeye/log4go"### 编译Server端 注意替换 GOOS 和 GOARCH , 具体的值可以通过命令 go env 查看cd /usr/local/go/srcGOOS=linux GOARCH=amd64 ./make.bashcd /usr/local/ngrok/GOOS=linux GOARCH=amd64 make release-server### 编译客户端cd /usr/local/go/srcGOOS=linux GOARCH=amd64 ./make.bashcd /usr/local/ngrok/GOOS=linux GOARCH=amd64 make release-client### 服务端启动/usr/local/ngrok/bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"### 客户端配置文件server_addr: "ngrok.sunnyos.com:4443"trust_host_root_certs: false### 启动客户端./ngrok -config=./ngrok.cfg -subdomain=blog 80setsid ./ngrok -config=./ngrok.cfg -subdomain=test 80 #在linux下如果想后台运行