go安装 (下载地址https://golang.google.cn/dl/)node
wget https://dl.google.com/go/go1.12.1.linux-amd64.tar.gzlinux
tar -C /usr/local -xzf go1.12.1.linux-amd64.tar.gznginx
cat >>/etc/profile<<EOFgit
export PATH=$PATH:/usr/local/go/bingithub
EOFgolang
source /etc/profilewindows
#检查下是否成功浏览器
go versiontomcat
#在当前用户目录下新建go目录做为项目目录bash
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(若是没有安装libiconv请自行安装)
make && make install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
git --version
(安装报错结果方案:
a、usr/local/git/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
解决:yum install perl-ExtUtils-MakeMaker
b、tclsh failed; using unoptimized loading
MSGFMT po/de.msg make[1]: *** [po/de.msg] Error 127
解决:yum install tcl
c、/bin/sh: msgfmt: command not found
make: *** [po/build/locale/da/LC_MESSAGES/git.mo] Error 127
解决:yum install gettext-devel
d、git clone时候提示fatal: Unable to find remote helper for 'https'
解决:yum install libcurl-devel 安装完成后,版本确认。
)
安装ngrok(注意git版本要高于1.7,若是不是请yum remove git而后按上面方式安装)
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
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.taoerqu.com 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 能正确输出网页就表示成功
设置NGINX反向代理去掉8000端口
vi /usr/local/nginx/conf/vhost/tunnel.conf
server { listen 80; server_name *.tunnel.taoerqu.com; access_log /home/wwwlogs/tunnel.log access; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host:8000; proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; proxy_pass http://ngrok; } } upstream ngrok { server 127.0.0.1:8000; keepalive 64; }
nginx -s reload
重启ngrok便可~
注:若是反向代理出现502bad gateway
vi /usr/local/nginx/conf/vhost/tunnel.conf
加入如下代码:(若是header过大,超出了默认的1k,就会引起upstream sent too big header )
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;