centos安裝go搭建ngrok服務
來自: http://bbear.me/shi-yong-a-li-yun-da-jian-zi-ji-de-ngrokfu-wu/
go安裝 (下載地址http://www.golangtc.com/download)
wget http://www.golangtc.com/static/go/go1.6beta1/go1.6beta1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.6beta1.linux-amd64.tar.gz
cat >>/etc/profile<<EOF
export PATH=$PATH:/usr/local/go/bin
EOF
source /etc/profile
#檢查下是否成功
go version
#在當前用戶目錄下新建go目錄作為項目目錄
mkdir -p $HOME/go
#用cat的方法在尾部增加配置配置golang的 GOROOT GOPATH
cat >>$HOME/.bash_profile<<EOF
export GOROOT=/usr/local/go
export GOPATH=\$HOME/go
export PATH=\$PATH:\$GOROOT/bin
EOF
#讓配置生效
source $HOME/.bash_profile
#檢查下go的env環境變量
go env
安裝最新版git
wget https://www.kernel.org/pub/software/scm/git/git-2.7.0.tar.gz (https://www.kernel.org/pub/software/scm/git/)
tar -zxvf git-2.7.0.tar.gz
cd git-2.7.0
make configure
./configure --prefix=/usr/local/git --with-iconv=/usr/local/lib
make && make install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
git --version
安裝ngrok
yum -y install mercurial bzr subversion
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=tunnel.taoerqu.com" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=tunnel.taoerqu.com" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
GOOS=linux GOARCH=amd64 #如果是32位系統,這里 GOARCH=386
vi src/ngrok/log/logger.go
看到里面有一個import中引用了google code,將其改為:"github.com/keepeye/log4go",PS :國內的服務器才需要怎么做
make release-server release-client
PS 未嘗試(
交叉編譯生成windows客戶端
上述編譯過程生成的服務端和客戶端都是linux下的,不能在windows下用。如果想編譯生成windows客戶端,需要重新配置環境并編譯。 交叉編譯過程如下:
進入go目錄,進行環境配置
cd /usr/local/go/src/
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 ./make.bash
進入ngrok目錄重新編譯
cd /usr/local/src/ngrok/
GOOS=windows GOARCH=amd64 make release-server release-client
)
配置dns
*.tunnel A 服務器ip地址
啟動ngrokd服務端
bin/ngrokd -domain="tunnel.taoerqu.com" -httpAddr=":8000"
注意,讓程序一直在后臺運行可以執行
nohup bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":8000" &
啟動ngrok客戶端
客戶端使用,拷貝剛剛生成的ngrok文件到本地,創建ngrok.cfg配置文件,可以根據自己的實際情況進行配置
server_addr: "tunnel.taoerqu.com:4443"
trust_host_root_certs: false
ngrok -config=ngrok.cfg -subdomain test 8080(使用tomcat并配置8080端口的情況、nginx配置8080反向代理)
控制臺輸出如果看見online恭喜可以了
瀏覽器訪問 test.tunnel.taoerqu.com:8000 能正確輸出網頁就表示成功