1.準(zhǔn)備工作:
貼出我自己的環(huán)境:centos7 64
1.軟件:
git,go,ngrok打包下載: 鏈接:http://pan.baidu.com/s/1c2tbOEc 密碼:dqv5 go全部版本下載地址:http://www.golangtc.com/download
2.安裝git
1、安裝git,我安裝的是2.6版本,防止會(huì)出現(xiàn)另一個(gè)錯(cuò)誤,安裝git所需要的依賴包
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
卸載其他的git:
yum -y remove git*cd /usr/local下載git:
wget https://www.kernel.org/pub/software/scm/git/git-2.6.0.tar.gz3、解壓git
tar zxvf git-2.6.0.tar.gz4、編譯git
cd git-2.6.0./configure --PRefix=/usr/local/gitmakemake install5、創(chuàng)建git的軟連接
ln -s /usr/local/git/bin/* /usr/bin/3.安裝go環(huán)境
準(zhǔn)備go環(huán)境,我的系統(tǒng)是64位的centos所以我下載amd64的包
1、下載go的軟件包
cd /usr/localwget http://www.golangtc.com/static/go/1.4.2/go1.4.2.linux-amd64.tar.gz2、解壓出來(lái)可以隨便指定位置
tar -zxvf go1.4.2.linux-amd64.tar.gz3、go的命令需要做軟連接到/usr/bin
ln -s /usr/local/go/bin/* /usr/bin/4.編譯ngrok
注:這里把ip地址換成自己的;
git clone https://github.com/inconshreveable/ngrok.gitexport GOPATH=/usr/local/ngrok/export NGROK_DOMAIN="ngrok.baidu.com"cd ngrok5.為域名生成證書(shū)
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 50006.在軟件源代碼目錄下面會(huì)生成一些證書(shū)文件,我們需要把這些文件拷到指定位置(如果有確認(rèn)提示: 輸入y
確認(rèn)即可)
cp rootCA.pem assets/client/tls/ngrokroot.crtcp server.crt assets/server/tls/snakeoil.crtcp server.key assets/server/tls/snakeoil.key7.如果是在國(guó)內(nèi)的服務(wù)器需要改,香港或者國(guó)外的服務(wù)器不需要
vi /usr/local/ngrok/src/ngrok/log/logger.golog "github.com/keepeye/log4go"8.指定編譯環(huán)境變量,如何確認(rèn)GOOS和GOARCH,可以通過(guò)go env來(lái)查看,編譯服務(wù)端
cd /usr/local/go/srcGOOS=linux GOARCH=amd64 ./make.bashcd /usr/local/ngrok/GOOS=linux GOARCH=amd64 make release-server9.編譯客戶端(根據(jù)自身情況選擇相應(yīng)的客戶端):
注:編譯后的客戶端在/usr/local/ngrok/bin
下:
linux 64位操作系統(tǒng)使用下面的命令:
cd /usr/local/go/srcGOOS=linux GOARCH=amd64 ./make.bashcd /usr/local/ngrok/GOOS=linux GOARCH=amd64 make release-clientmac os 64位操作系統(tǒng)使用下面的命令:
cd /usr/local/go/srcGOOS=darwin GOARCH=amd64 ./make.bashcd /usr/local/ngrok/GOOS=darwin GOARCH=amd64 make release-clientWindows64位操作系統(tǒng)使用下面的命令:
cd /usr/local/go/srcGOOS=windows GOARCH=amd64 ./make.bashcd /usr/local/ngrok/GOOS=windows GOARCH=amd64 make release-client10.客戶端配置文件ngrok.cfg
注:這里把ip地址換成自己的; 新建一個(gè)ngrok.cfg
配置的文件放在客戶端同一目錄,內(nèi)容如下:
server_addr: "ngrok.baidu.com:4443"trust_host_root_certs: false11.服務(wù)端啟動(dòng)
/usr/local/ngrok/bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"如果重啟過(guò)服務(wù)器,請(qǐng)用下面的命令再次啟動(dòng)ngrok服務(wù)端:
/usr/local/ngrok/bin/ngrokd -domain="ngrok.baidu.com" -httpAddr=":80"12.客戶端啟動(dòng)
linux客戶端啟動(dòng)命令:
./ngrok -config=./ngrok.cfg -subdomain=blog 80windowns客戶端啟動(dòng)命令:
ngrok -config=./ngrok.cfg -subdomain=blog 80如果想在linux的后臺(tái)運(yùn)行:
setsid ./ngrok -config=./ngrok.cfg -subdomain=test 80 13.打開(kāi)80,4443端口
firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=4443/tcp --permanentfirewall-cmd --reload到這里整個(gè)ngrok就搭建成功了,如果有什么問(wèn)題或建議歡迎給我留言,么么噠!
結(jié)語(yǔ):搭建屬于自己的ngrok服務(wù)器,實(shí)現(xiàn)內(nèi)網(wǎng)穿透,外網(wǎng)訪問(wèn)內(nèi)網(wǎng),可本地開(kāi)發(fā)微信不需要上傳服務(wù)器
4.問(wèn)題總匯,以下非重點(diǎn),出現(xiàn)問(wèn)題再看
出現(xiàn)下面這個(gè)錯(cuò)誤說(shuō)明需要安裝hg:
package code.google.com/p/log4go: exec: "hg": executable file not found in $PATH解決辦法:
yum install hg -y
編譯到 go get gopkg.in/yaml.v1 的時(shí)候卡住不走了,說(shuō)明是git比較低,版本需要大于1.7.9.5以上
fatal: Unable to find remote helper for 'https'出現(xiàn)這個(gè)問(wèn)題,可以重新安裝 curl curl-devel
然后再重裝git
安裝git-core
wget https://www.kernel.org/pub/software/scm/git/git-core-0.99.6.tar.gztar zxvf git-core-0.99.6.tar.gzcd git-core-0.99.6make prefix=/usr/libexec/git-core installexport PATH=$PATH:/usr/libexec/git-core/感謝:http://www.sunnyos.com/article-show-48.html提供資料和思路