在大多数时候,云服务器的价格让人望而却步,尤其是带宽方面,带宽低,如果没有cdn,根本无法正常使用,现在我就教大家用自己电脑搭建一台云服务器
一:外网
首先,当云服务器的最重要一点就是网络方面,大家都知道,家里的电脑ip是无法直接被外部访问的,需要做一系列的处理才可以,我给大家总结了以下方法
1:打电话给运营商,开外网
直接打电话给运营商,叫客服给你开外网就行了,这种方式是相对于其他方式,最好的一种,可以充分利用家庭带宽
优点:
带宽能够充分利用,不需要额外花费
端口齐全,除了80端口,其他基本都可以使用
缺点:
ip经常变动,需要做系列的其他处理
不能使用80端口,不能做网站
2:使用花生壳,nat123外网映射
一般情况下,大部分路由器支持花生壳动态dns解析,直接路由器配置,或者百度就有教程了,nat123外网映射也有很多教程
优点:
可以使用80端口做网站
ip虽然变动,但是可以动态dns解析到一个域名,域名不会变
缺点:
要钱
带宽低,收费高,带宽高一点都要钱,没法充分利用家庭带宽
本文只讲关于开外网之后的一系列操作
二:路由器dmz主机
当你开启外网之后,就有了外网ip了,如图:
但是很显然,你家连你自己网络的手机,电脑这么多,要怎么映射到一台电脑呢?
我们需要做以下的事情:
1:绑定局域网ip,使主机ip固定
我们打开路由器管理页面,能看到很多个连接的设备,选择好我们需要开外网的那个设备(通常是电脑),然后绑定mac地址+ip地址,确保ip不会再变化:
2:绑定dmz主机
找到路由器的dmz主机配置,将这个绑定好的ip填入即可:
这样,我们就成功的将外网映射到了一台主机上
三:ip地址变动问题解决思路
完成上面的步骤,这个云服务器我们已经是开启成功了,可以通过外网ip,直接登录这台主机,无论是windows,还是linux (但是还需要注意防火墙问题,这个是电脑的配置,不细说)
问题来了,如果ip变动了,我们不在家里,怎么获取到自己的家庭ip呢?
这个问题的主要点在于,需要通过自己的家庭网络,去请求外网,让外网获取到家庭网络的ip,然后想办法通知到我们,即可,本人的方法如下:
1:linux定时任务,
请求自己的一台服务器,服务器获取到ip之后,保存,每次外网变动之后,我们只要请求自己的云服务器即可.
定时任务如下:
云服务器代码如下:
<?php if($_GET\['name'\]=='xxxx'){ file\_put\_contents('ip.txt',$\_SERVER\['REMOTE\_ADDR'\]); } echo "ip: ".file\_get\_contents('ip.txt');
家里的电脑定时任务,每次带上参数请求,服务器将保存ip,我们自己访问自己的云服务器,没有带上参数,则会直接输出家里电脑的ip
2:邮箱通知
通过
curl ifconfig.me curl icanhazip.com curl ident.me curl tnx.nl/ip
等等命令,可以获取到本机的外网ip,
定时任务获取ip,与历史ip匹配,如果变动了,则给自己邮箱发送自己的新ip,把ip保存到本地,等待下一次匹配
该方法无需外网
3:dns服务器
通过自己搭建dns服务器,动态更换域名的ip解析,我们只需要记住域名即可
该方法本人没有测试过,不知能不能实现
4:模拟域名服务商网站登录,自己修改域名解析ip
当获取到自己的ip之后,模拟登录腾讯云,阿里云等域名服务商网站,再进行提交自己的新ip解析
该方法本人目前还在试验阶段,尚未完成
四:自己的云服务器可以实现什么?
本人目前使用树莓派当服务器使用,目前在运行爬虫脚本
后期可能可以用于做云盘等操作
自己发掘吧~