爱美容
当前位置: 首页 美容百科

linux系统服务器搭建(Linux搭建ngrok服务器内网穿透服务)

时间:2023-07-07 作者: 小编 阅读量: 1 栏目名: 美容百科

傻瓜式操作,5分钟完成。添加authtokensudongrokconfigadd-authtoken29xKUhVc76mfOyPp3IYrXk6KIe7_4modhP9oq1B3beAWRKCtC添加完成后,直接执行需要启动的端口即可。代码也要2016年停止更新,所以现在基本都是用这套代码的。如果没有配置DOMAIN环境变量,也可以,只需要在执行前加条命令。

linux系统服务器搭建?场景问题:如果本地的项目在没有服务器的情况下,需要让他人访问;,我来为大家讲解一下关于linux系统服务器搭建?跟着小编一起来看一看吧!

linux系统服务器搭建

一:前言

场景问题:

如果本地的项目在没有服务器的情况下,需要让他人访问;

在自己的电脑上搭建一个web服务器,实现本地的访问和外部的访问。我们就要做内网穿透了,内网穿透就是别人通过外网能够访问到我们本地的服务器。

市面上一些主流的内网穿透工具有:

Ngrok,Natapp,花生壳,Ssh、autossh,Frp,Lanproxy,Spike

这里介绍使用Ngrok工具。

二:使用官网自带的服务器

官网提供免费的服务器可使用,但是域名是随机的,只能临时使用,但是作为开发测试,给远方的甲方看到自己的电脑上的项目,还是足够了。

傻瓜式操作,5分钟完成。

官方网站:http://ngrok.com/

自己下载相应的版本即可,我这里是Linux,选择linux即可。

官方提供个三种安装方式,都可以使用。

第一种:下载解压得到一个脚本文件,执行即可。

第二种:apt安装即可。

第三种:用snap工具安装。

我这里用snap安装:

sudo snap install ngrok

添加authtoken,authtoken需要注册登录进去才可以看到,我用google邮箱默认登录即可。

添加authtoken

sudo ngrok config add-authtoken 29xKUhVc76mfOyPp3IYrXk6KIe7_4modhP9oq1B3beAWRKCtC

添加完成后,直接执行需要启动的端口即可。如这里是web网站,就使用80端口启动。

sudo ngrok http 80

启动后,会随机分配一个域名,用这个域名就可以实现外网访问自己电脑内网了,启动后界面:

这里分配的域名为http://1414-96-9-67-134.ap.ngrok.io/,如果是甲方,给他用这个域名,就可以访问自己的电脑的web网页了。

浏览器打开测试就可以访问了。

三:自己搭建ngrok服务器

虽然官方有自己的服务器,需要更多的功能还是需要付费,比如自定义域名。所以这里可以自己搭建服务器。

目前只有版本1开源可搭建,版本2以上没有开源,毕竟人家也要吃饭的。代码也要2016年停止更新,所以现在基本都是用这套代码的。

github地址:http://github.com/inconshreveable/ngrok

官方示意图:

1:域名解析

这里是我自己的域名ywbj.cc 为例子配置。

打开域名管理页面,建立两个A记录,把域名解析到服务器上,用来关联ngrok服务。

添加*.ngrok.ywbj.cc和ngrok.ywbj.cc两条记录

到时候将通过 xxx.ngrok.ywbj.cc:端口 来访问代理服务器。

2:安装git

git一般是默认安装的,没有的话直接安装即可

#centosyum install git#或者ubuntusudo apt install git

3:安装、配置go语言环境

ngrok是基于go语言开发的,所以需要先安装go语言开发环境。

我这里是ubuntu,直接安装

sudo apt install golang -y

安装完成后go version可查看版本是否安装成功。

ubuntu@ubuntu:~# go versiongo version go1.13.8 linux/amd64

安装好后,需设置go环境变量。

由于我是在线安装,只需要配置两个环境变量。

cd ~# 到主目录vi .bashrc# 打开配置文件,在末尾添加如下export GOPATH=/usr/local/ngrok/# 这个目录是go的工作目录,即等下要编译ngrok的目录export NGROK_DOMAIN="ngrok.ywbj.cc"#ngrok服务二级域名,后面生成证书时的$NGROK_DOMAIN

如果是自己下载的golang版本,则还需要配置添加其他两个环境变量,这里例子为:下载版本放在安装 /usr/local 路径:

export GOroot=/usr/local/go# 这个目录是go的解压目录export PATH=$GOROOT/bin:$PATH:$GOPATH/bin# 设置bin目录

更改完成后,刷新生效配置

source .bashrc

4:下载获取 Ngrok 源码

下载源码

git clone http://github.com/tutumcloud/ngrok.git ngrok

进入目录

cd ngrok

5:根据自己的域名生成证书

openssl具体参数,可以自行研究,比较复杂,下面$NGROK_DOMAIN变量,就是环境变量已经配置好了。如果没有配置DOMAIN环境变量,也可以,只需要在执行前加条命令。

NGROK_DOMAIN="ngrok.ywbj.cc"

然后生成证书

openssl genrsa -out base.key 2048openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pemopenssl genrsa -out server.key 2048openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csropenssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt

生成完成,替换原来的默认证书

cp base.pem assets/client/tls/ngrokroot.crtcp server.crt assets/server/tls/snakeoil.crtcp server.key assets/server/tls/snakeoil.key

6:编译生成服务端和客户端

ngrokd 为服务端的执行文件,ngrok为客户端的执行文件。

make release-server release-client

注:我这里服务器和客户端都是同一平台,所以我同时编译即可。如果客户端不同,分开执行。

以windows、arm、linux客户端版本编译,如下:

GOOS=linux GOARCH=amd64 make release-clientGOOS=windows GOARCH=amd64 make release-clientGOOS=linux GOARCH=arm make release-client

不同平台使用不同的 GOOS 和 GOARCH,GOOS为go编译出来的操作系统 (windows,linux,darwin),GOARCH, 对应的构架 (386,amd64,arm),对应如下:

Linux 平台 32 位系统:GOOS=linux GOARCH=386Linux 平台 64 位系统:GOOS=linux GOARCH=amd64Windows 平台 32 位系统:GOOS=windows GOARCH=386Windows 平台 64 位系统:GOOS=windows GOARCH=amd64MAC 平台 32 位系统:GOOS=darwin GOARCH=386MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64ARM 平台:GOOS=linux GOARCH=arm

编译出的程序会放在ngrok/bin/下,ngrok为客户端程序,ngrokd为服务器程序。

7:启动服务器端

ngrokd为服务器端。

cd ngrok/sudo /bin/ngrokd -domain="ngrok.ywbj.cc" -httpAddr=":8080" -httpAddr=":8081" -tunnelAddr=":4443"

上面domain为自己的域名,设置默认http,http端口分别为8080,8081,连接的tunnel(隧道端口)为4443端口。端口可以随意设置,并不是唯一的。

启动后浏览访问http://ngrok.ywbj.cc:8080/,可以看到提示,也是启动了隧道。

查看端口情况,也可以看到已经启动。

netstat -lntup|grep ngrok

8:客户端启动

将ngrok通过工具,传送到需要穿透的客户端机器。

在同一文件夹中,创建ngrok.cfg配置文件,并写入基础配置。

sudo vim ngrok.cfg

添加内容如下:

server_addr: "ngrok.ywbj.cc:4443"trust_host_root_cert: false

此文件位YAML格式,缩进用空格。

server_addr后填写你的域名,要和之前写的一模一样。

4443是固定端口,一般不改,但也可以在服务端更改。

web也可以改成其他,启动客户端80端口。

/ngrok -subdomain web -config=ngrok.cfg 80

第一次启动有点慢,耐心一点,可能需要等待重连一会。连接成功后,显示:

浏览器访问http://web.ngrok.ywbj.cc:8080/即可穿透访问内网客户端80端口。

9:使用固定端口配置

如果想一次性转发多个端口或者想指定远程的对应端口,需要完善ngrok.cfg,如:

server_addr: ngrok.ywbj.cc:4443trust_host_root_certs: falsetunnels: ssh:remote_port: 1122proto:tcp: 22 ss:remote_port: 8388proto:tcp: 8388 ftp:remote_port: 20proto:tcp: 20 ftp2:remote_port: 21proto:tcp: 21 http:subdomain: wwwproto:http: 80http: 443

使用方法,启动特定的转发tunnel

/ngrok -config=ngrok.cfg start http

当然也可以将所有配置全部转发

/ngrok -config ngrok.cfg start-all

10:后台启动

服务端:

nohup /bin/ngrokd -domain="ngrok.ywbj.cc" -httpAddr=:8080 -httpAddr=":8081" -tunnelAddr=":4443"> /var/log/ngrokd.log 2>&1 &

客户端:

必须加上参数 -log=stdout,否则是不行的

nohup /ngrok -config ngrok.cfg -log=stdout start-all > /var/log/ngrok.log 2>&1 &

到此,ngrok服务器搭建完成。

    推荐阅读
  • 怎么样让眼睛变大的最有效的方法(5种方法让你的眼睛变大)

    使用时先轻刷一层睫毛膏,趁睫毛膏尚未干掉时,将增长纤维的刷头转出,并将刷头上的白色细致纤维轻轻以滚动方式附着每根睫毛的尖端部位。再重复刷上黑头睫毛膏,电眼效果max。

  • 双减带给老师的挑战和机遇(双减之后教师面临的)

    7月24日,中共中央办公厅、国务院办公厅印发了《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》。面对教师陡然增加的负担,教育部相关负责人回应,将继续督促指导各地将教师减负工作同优化教师资源配置、深化教育教学改革等有机结合起来,健全教师减负长效机制,推动教师减负工作取得实效。“双减”政策明确提出,要构建教育良好生态,有效缓解家长焦虑情绪,促进学生全面发展、健康成长。

  • 我的世界橡胶甘蔗怎么杂交 我的世界粘性甘蔗种子

    杂交前需要合成作物架,用4个木棍合成,摆放成左右两列,合成2个作物架,由于杂交的几率比较低,所以需要准备多点作物架。拿着作物架在,每两个种了甘蔗的耕地的中间,放上两个作物架,作物架成十字交叉,代表此时在进行杂交。进行一段长时间的等待,等待甘蔗长大,等待杂交成功,注意杂交的地方很容易长杂草,如果长了杂草请尽快打掉,否则整个耕地都会蔓延杂草,需要重新杂交。

  • 娃哈哈新媒体营销策划(第13届娃哈哈营销策划大赛重磅来袭)

    为了丰富大学生的课余生活,引导和培养大学生创新精神和实践能力,4月23日18时30分,第十三届娃哈哈全国大学生营销策划大赛启动仪式于南宁职业技术学院大礼堂顺利举行。娃哈哈营销大赛为大学生提供了一个广阔的实践平台,推动教育与实践相结合,使同学们的创新意识得到激发。在此预祝娃哈哈营销策划大赛取得圆满成功,也祝本次参赛的团队都能够在比赛中取得佳绩!

  • 狮鹫怎么驯服(方舟生存进化手游狮鹫驯服技巧攻略)

    接下来我们就一起去研究一下吧!狮鹫怎么驯服方舟生存进化中狮鹫是高傲的守护兽,想要驯服狮鹫并不容易,必须获得狮鹫的尊重,这并不算容易的事,下面就来介绍一下怎么驯服狮鹫的方法吧。第一种方法:人物等级85级以上,并且不是可以获得全部尊重的!比如85级的,可能只能获取低等级狮鹫的尊重!

  • tabata间歇性训练的方法(什么是Tabata锻炼)

    各种研究得出结论,Tabata锻炼对健康有很多好处。有时您可能会达到最大强度,这可能会因肌肉松懈而导致受伤每周最多进行3-4次Tabata训练。Tabata锻炼以多种方式改善健康。此外,心脏病患者在开始Tabata锻炼之前还应听取医生的建议。在没有科学证据的情况下,对原始Tabata版本的修改可能弊大于利。人们可能会选择Tabata只是为了减肥,这不是它的实际用途。与传统HIIT相比,Tabata的强度水平更高,恢复时间更短。

  • s10和s9有什么区别(s10和s9有什么区别瑞思迈)

    vivoS9电池容量4000mAh,配置33W闪充。vivo官方宣布vivoS10系列于2021年7月15日正式发布,该手机代言人有Lisa、蔡徐坤、刘昊然。2021年7月15日,vivo召开了S10系列发布会,会上发布了新一代自拍旗舰vivoS10系列,其vivoS10系列依然采用了前置4400万像素AF双摄设计,仍然支持105度超广角,还有前置微缝式双柔光灯。

  • 专业版微博怎么设置(其实很简单)

    接下来我们就一起去了解一下吧!专业版微博怎么设置需要认证过才能成为专业版。专业版微博是为企业和机构定制的微博。新浪微博企业版是我们为企业、机构用户量身打造的服务平台。它具有更丰富的个性化页面展示功能设置,更精准的数据分析服务,以及更高效的沟通管理后台。我们期待新浪微博企业版能够帮助企业更便捷地与目标用户进行互动沟通,提升营销效果转化,挖掘更多商业机会。

  • 变速箱油到底多久换一次呢(变速箱油多久更换一次)

    如果需要更换变速箱油,查看用户的保养手册上如果有明确的更换周期,按照规定换油。如果变速箱油是终身免维护的,也一样要引起重视,终身免维护并不意味着变速箱油一直不用换。其实变速箱油不像机油那么黑,相比于机油甚至更为干净一点。所以车主千万不要忽略变速箱油,如果过长时间不更换,也会对变速箱造成一定的损伤,而且一些汽车的变速箱比发动机还要昂贵,修一次可能得要好几万元。

  • 恐惧症会遗传吗 幽闭恐惧症会遗传吗

    恐惧症是发病率非常高的一种心理疾病,而有许多患者并没有得到有效的治疗。导致恐惧症的因素恐惧症是各种因素的共同作用。恐惧症的典型症状是恐怖发作,并伴有强烈的生理反应。尽管患者知道这种恐惧是不合理的,但是没法控制。研究表明,在100名患者中40名患者可以彻底治疗,基本上没有什么后遗症。所以一定要及早治疗,效果好,造成的危害也小。