【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

家里闲置一台电脑主机怎么配置成服务器?

放大字体  缩小字体 发布日期:2020-06-15 07:59:57    浏览次数:12
导读

  谢邀,想搞这些,建议先学习下网络的基本知识:什么是公网/内网、NAT、ddns,tcp/ip基础知识,对这些有一定了解后,你就只用去搜具体到哪一步的实施方法了。  没有一点基础的话,网上有教程,你都不一定能做成功。。我就是从这个阶段走过来的,深刻的体会。。因为你的电脑、路由器总不可能和教程的完全一样,只有了解

  谢邀,想搞这些,建议先学习下网络的基本知识:什么是公网/内网、NAT、ddns,tcp/ip基础知识,对这些有一定了解后,你就只用去搜具体到哪一步的实施方法了。

  没有一点基础的话,网上有教程,你都不一定能做成功。。我就是从这个阶段走过来的,深刻的体会。。因为你的电脑、路由器总不可能和教程的完全一样,只有了解了这些基础知识后,才能为你接下来的折腾提供一点理论支持

  家里淘汰了一台笔记本,windows系统装起来很卡,于是装了个linux系统。这台笔记本有2G内存,奔腾双核处理器,配置比我在阿里云上买的ECS高多了,于是想着给它利用起来。研究了一下,发现ngrok内网穿透能实现这个功能,刚好我也有外网服务器和域名,那就直接开干。

  此处从git下载,选择的是tutumcloud修改过的源码,解决了部分包无法获取的问题。也可以在window下下载zip包,然后再上传至服务器,解压即可。

  我们采用自己的服务器自建ngrokd服务,需要生成自己的自签名证书,并用该证书编译一个ngrok客户端。生成证书需要配置一个环境变量NGROK_base_DOMAIN,直接在命令行里定义即可,这个域名是一个基础域名,后面ngrok提供http服务的时候,可以在这个域名前面再加前缀。以的官方服务为例,它提供的服务地址为,那么它这个NGROK_base_DOMAIN变量就为,“ngrok.com”。此处,我用自己的二级域名“ngrok.shawnan.xyz”,后续提供http服务时,域名为“xxx.ngrok.shawnan.xyz”。生成签名的代码如下,在ngrok目录执行。

  编译,编译一个服务端和一个客户端,如果是在window下使用,就编译windows的客户端。

  编译后会在bin目录下生成ngrokd和ngrok文件,ngrokd和ngrok文件分别是ngrok的服务端程序和linux平台下的客户端程序。如果编译了windows客户端,则会生成一个ngrok.exe,是windows下的客户端程序。到此处编译工作就完成了,下面开始启动服务。

  准备工作之一就是首先要确定几个端口,分别是ngrok用来转发http、https服务的端口,还有转发ssh、ftp等服务的端口,此处我用到了3个,分别是http的8088、https的8443、ssh的8022。此处要记得在linux的防火墙开启这几个端口,如果是云服务器,则要配置相应的规则,否则外网的设备如何也连不进你部署的ngrokd服务。我们可以在windows下采用telnet命令测试服务器的端口是否已经打开:

  通过命令行启动ngrokd服务很简单,只需要配置几个参数即可,httpAddr、httpsAddr分别是ngrok用来转发http、https服务的端口,可以自由配置,domain就是你的外网域名。ngrokd 还会开一个4443 端口用来跟客户端通讯,这个端口也可通过 -tunnelAddr=”:xxx” 指定。

  服务端启动完毕之后,还要配置nginx代理。在服务器上面的nginx的配置文件里面增加如下一段:

  除了http服务,ngrok还可以对tcp服务进行转发,这样我们就可以通过转发22端口利用SSH把局域网内的linux服务器共享到局域网外面去远程连接了。比如把本机的22端口转发到外网,还是使用刚才的配置文件,使用如下命令:

  如果配置文件里面没有配置端口,ngrok会随机选择一个端口进行tcp转发。比如将本地的22端口转发到了ngrok.shawnan.xyz的34538。

  前面ngrok随机选择了一个端口对22端口进行转发,很不方便,每次还需要先看一下端口才能远程ssh连接。此处如果想自定义tcp转发的端口,则需要完善ngrok的配置文件,通过完善配置文件,可以大大简化运行命令。配置文件前面两行不变,仍旧是配置服务器地址和禁用TLS加密协议的证书信任。下面配置管道,可以同时配置多种管道,比如ssh、http、https等。

  服务端和客户端都配置完了,但是我们不想每次都输入这么长的命令,那么就可以借助systemctl来将我们的服务配置成为系统服务并设置自动启动。此处以Centos7为例,CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/system,在此文件夹下建立ngrok.service文件,内容如下:

  [Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别。[Service]部分是服务具体运行参数的设置,此处ExecStart即为服务启动的命令,[Install]部分是服务安装的相关设置,可设置为多用户的。配置完毕后,使用如下命令分别启动服务,停止服务,查看状态。

  首先你要有一些Linux的基础,知道基本的操作,还要懂得怎么维护好服务器,特定的情况下报错早知道是哪里的问题,剩下的就没什么,主要还是如何把自己配置好的“本地服务器”如何上传到公网,有几个途径:

  1.在拥有公网IP的情况下使用路由器的端口映射的功能将本地服务器映射到公网,但是要注意,一般家用的ip都不是公网IP,就算是申请到了公网IP而80端口是一定关闭的,443端口视情况而定,如果封禁则如果要访问域名要在域名后面加上端口号。

  2.通过frp服务实现本地服务器上传至公网,这种一般来说都是收费的,比如某壳,这种的大致是把你服务器的内容映射到frp服务器再由frp服务器进行映射操作,但是这种一般延迟较高,也有免费的,当然速度不是更好是肯定的

  但是要注意的是,如果把家用电脑当成服务器来使用的话,要考虑到硬件的老化加速,以及稳定性以及安全性的问题,毕竟很多专业的服务器商都被黑过,要即时的做好资料备份

  这些都属于内网穿透,是有一定风险的,切勿用作违法违规用途,否则那啥在等待你,推荐第二种办法,强烈不推荐某壳,如果有需要的话可以试一下

  如果有云服务器的话,可使用github上的frp内网穿透软件,在服务器端分配出一个端口即可。

 
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-272827.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4