目录
前言
hello啊,(~ ̄▽ ̄)~
本次的主题是如上题所示。
操作完后,阔以让你本机上项目不用部署到服务器上也能让别人看到(嘛~ 其实就是一种偷懒的方法啦~)
如果觉得没那个必要的话,也阔以直接溜了(毕竟直接部署到服务器上面不就好咯φ(゜▽゜*)♪)
当然,像这种场景还是很多地方是需要的勒( •̀ ω •́ )✧,so! 直接进入主题吧!
一、准备工作
1、一台云服务器 :我的是腾讯云服务器(只有配置啥的。。别管我配置是啥,你们肯定是越高越好撒!!)
2、一个解析后的域名:这个也是在腾讯云上面买的(来来来,瞧一瞧,看一看,像这个 .com .cn 啥的超有牌面的好伐!)
3、一台电脑:能启就行 (要求不过分,就一台能吃鸡的电脑,这样才算标配好伐 (●ˇ∀ˇ●))
4、一个项目:能用就行 (至少登录没问题吧,界面也不能太丑吧,功能也不能太差吧…)
5、远程控制软件:我用的是finalshell (能操作就行啦~)
二、安装ngrok运行环境 (liunx)
命令行1:
# 安装 gcc 和gcc-c++
yum -y install gcc
yum -y install gcc-c++
# 安装 golang , 下载地址在https://studygolang.com/dl中找的,想换版本可以在这里找
wget https://studygolang.com/dl/golang/go1.8.linux-amd64.tar.gz
tar -zxvf go1.8.linux-amd64.tar.gz
成功图形1:
命令行2:
vi /etc/profile #文件中加上环境变量
source /etc/profile #使环境生效
go version #查看go是否安装成功
要加的环境变量2:
export GOROOT=你的go解压地址
export PATH=$PATH:$GOROOT/bin
成功图形2:
三、安装ngrok (liunx)
命令行:
#安装git 用于下载ngrok代码
yum -y install git
#克隆代码,文件夹命名为 ngrok-server,也可以填写,默认就是ngrok
git clone https://github.com/inconshreveable/ngrok.git ngrok-server
成功图形:
四、配置ngrok (liunx)
重点:
1、生成一个自己的客户端的ssl证书
2、自己的云服务器要打开安全组
(1)生成一个自己的客户端ssl证书
注意! 证书生成过程需要一个NGROK_BASE_DOMAIN。 填写我们的域名地址
命令行1:
cd ngrok-server #进入安装根目录
NGROK_DOMAIN="javawwl.com"
openssl genrsa -out rootCA.key 2048
openssl req -new -x509 -nodes -key rootCA.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -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 -days 10000 -out server.crt
成功图形1:
命令行2:
#下面复制证书到默认读取目录下
\cp -rf rootCA.pem assets/client/tls/ngrokroot.crt
\cp -rf server.crt assets/server/tls/snakeoil.crt
\cp -rf server.key assets/server/tls/snakeoil.key
成功图形2:
(2)设置安全组
这个就不过多讲了,涉及到端口了,因为每个人的端口设置度可以不一样的哈。
五、生成客户端和服务端并运行ngrok (liunx)
命令行1:
#linux服务端
GOOS=linux GOARCH=386 make release-server
#win客户端
GOOS=windows GOARCH=386 make release-client
成功图形1:
命令行2:
# 进入服务端
cd linux_386
#后台运行服务端
nohup ./ngrokd -domain="javawwl.com" -httpAddr=":8000" -httpsAddr=":8001" -tunnelAddr=":8002" &
成功图形2:
六、下载window客户端并配置运行 (window)
这个下载就行了,[]( ̄▽ ̄)*
然后增加两个文件在同目录下
ngrok.cfg 文件:
server_addr: javawwl.com:8002
trust_host_root_certs: false
tunnels:
ssh-example:
remote_port: 8093
proto:
tcp: 22
sssh-example:
emote_port: 3389
proto:
tcp: 3389
ftp-example:
remote_port: 21
proto:
tcp: 21
http1-example:
subdomain: blog1
proto:
http: 8013
https: 8014
http2-example:
subdomain: blog2
proto:
http: 8080
start.bat 文件:
#启动所有隧道
ngrok -config=ngrok.cfg start-all
pause
#启动指定隧道
ngrok -config=ngrok.cfg start ssh-example sssh-example
接下来就点击start.bat就行了?我的确实是欧克了,但是如果你项目的端口号啥的不一样就完了
所以的放一波图解:
想改动那个ngrok.cfg文件的话
可以康康文档参考:ngrok中文文档
但是还有最最重要的一步,创建子域名(针对不会为自己域名创建子域名的人而写的)
比如我上面的那个blog1和blog2,这些都是我创建的子域名,如果你们没有创建的话,那:blog1.xxx.com肯定是访问不了的
七、访问 (window)
当然,在你关闭服务端,或者你关闭本地的客户端之后,都是没办法联通的,所以缺一不可。
想要用的时候打开就行。
就比如我的项目在我本地项目用的就是8013端口,那么我在外面用http://blog1.javawwl.com:8000就可以访问到了
后言
ngrok中文文档:ngrok中文文档
上面大佬写的不错,就是有些我之前没搞明白的东西,所以就自己先尝试了一下,再补全了。(大佬里面还有自启服务,我懒,不想写了,大家随意吧)
欧了,散了,散了,大家(~ ̄▽ ̄)~洗洗睡吧。