这两天在搞一个微信的微网站后台开发,有一台第三方服务器,写的代码要部署在这台阿里云ecs上面,由于需要本地调试代码,就需要安装一个ngrok
服务器操作系统:CentOS6.5 64位
安装之前需要:
1.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++
2.下载git
3.安装go环境
首先提两个事情。血泪换来的教训:
1.go环境的版本不能高于1.4,因为高于1.4之后编译会出错,原因根据网上的说法是由于1.4之后的版本不是C语言写的
2.git的版本必须是最新版本,所以不能用yum命令安装,必须要去下载最新的源码安装。一开始我的git版本是系统自带的1.7,yum remove git之后重装的是2.2.1,到后面编译的时候会长久的卡死在某个下载项上,所以切记切记,无比源码安装最新版本的git。(现在最新的版本是2.11)
还有一个事情,如果需要在windows下调试代码,则需要交叉编译windows的客户端,所以so环境也不能使用yum安装,必须下载源码安装
下面开始。
1.下载git :(我是在/usr/local目录下做这些事情,网上有的教程不说明是在哪个目录,搞得一头雾水)
wget https://www.kernel.org/pub/software/scm/git/git-2.6.0.tar.gz (这里的git也不是最新版,切记更新到最新版)
2.解压git
tar zxvf git-2.6.0.tar.gz
3.编译git cd git-2.6.0
./configure –prefix=/usr/local/git
make
make install
4.创建git的软连接 ln -s /usr/local/git/bin/* /usr/bin/
二、安装go环境 因为我是64位的centos,所以下载64位的包,还有一定要下载1.4版本的go环境,好像1.4以后的版本就不是用C语言编写的,会编译错误。
1、下载go环境 wget http://www.golangtc.com/static/go/1.4.2/go1.4.2.linux-amd64.tar.gz (就下载这个安装包就行)
2、解压 tar zxvf go1.4.2.linux-amd64.tar.gz mv go /usr/local
3、创建软连接 ln -s /usr/local/go/bin/* /usr/bin
4、编译ngrok cd /usr/local/ git clone https://github.com/inconshreveable/ngrok.git export GOPATH=/usr/local/ngrok/ export NGROK_DOMAIN=”你的域名” cd ngrok
注意,在输入域名的时候最好不要带www,否则可能会导致映射失败,我问别人给出的答案是可能需要泛域名解析之后才能支持www,或者是其他一些原因
三、生成域名证书并拷贝到指定位置
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj “/CN=$NGROK_DOMAIN” -days 5000 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj “/CN=$NGROK_DOMAIN” -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key
如果是位于我和谐国的服务器需要改,香和谐港或者国和谐外的服和谐务和谐器不需要 : vim /usr/local/ngrok/src/ngrok/log/logger.go log “github.com/keepeye/log4go”
四、编译服务端和客户端 指定编译环境变量,如何确认GOOS和GOARCH,可以通过go env来查看
1、编译服务端 cd /usr/local/go/src GOOS=linux GOARCH=amd64 ./make.bash cd /usr/local/ngrok/ GOOS=linux GOARCH=amd64 make release-server
2、由于我是mac os x操作系统,所以我使用下面的编译客户端
cd /usr/local/go/src
GOOS=darwin GOARCH=amd64 ./make.bash
cd /usr/local/ngrok/
GOOS=darwin GOARCH=amd64 make release-client (Windows的客户端编译(64位,32位的把GOARCH的值改为386)
cd /usr/local/go/src
GOOS=windows GOARCH=amd64 ./make.bash
cd /usr/local/ngrok/
GOOS=windows GOARCH=amd64 make release-client
未完待续
共勉
2、下载git
wget https://www.kernel.org/pub/software/scm/git/git-2.6.0.tar.gz
3、解压git
tar zxvf git-2.6.0.tar.gz
4、编译git
cd git-2.6.0
./configure –prefix=/usr/local/git
make
make install