阿里云服务器ecs安装ngrok

这两天在搞一个微信的微网站后台开发,有一台第三方服务器,写的代码要部署在这台阿里云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环境

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++
 
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++
 

首先提两个事情。血泪换来的教训:

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

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...