方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?

方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?

去年通过优惠购买的腾讯云200m服务器马上要到期了,好在前段时间网络移机后意外发现居然是有公网ipv4的,经过测试发现,网络延迟与网络服务器区别不大,加上现在各云厂商cdn都是有端口转发功能或者直接利用非标端口回源的。利用手里目前有留有一台蜗牛星际A爆改的nas主机和一个n95的小主机,经过一番取舍与摸索,有了这个教程文章(全文只提供一个思路,详细教程后面兴致起来了会单独拆解)。

宝塔部署方案

原方案:nas的docker服务+docker版宝塔

这个方案说起来不算方案,因为自从飞牛功能差不多完善的时候就一直把飞牛OS当做本地的nas来使用,一直到飞牛出了虚拟机,基本上已经趋于完全了,但是始终有个痛点,就是飞牛自带的nginx自始至终只担任一个角色(自我认为,本人对各项事务都不精通,如果有说错话请勿喷),那就是把来自80,443端口的请求转发到5666,5667等管理员设置的飞牛访问端口,在我看来屁用没有。飞牛并不像群晖是自带web服务的,可以通过系统nginx将请求转发到其他端口。于是肯定是先把80/443解放出来,查找了一番资料,比较好的解决方法就是通过docker来部署宝塔,这个与虚拟机相比优点就是可以直接将www文件夹映射到宿主机文件夹,管理起来比较方便,比如某些通过文件覆盖来升级的web服务,就可以直接通过nas的文件服务来进行管理,加之个人习惯是将nas全盘直接映射到电脑当做本地文件夹使用。

图片[1]-方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?-觅影网

不过也有一些局限性,有时候断电后,nas宿主机重启,docker并不会连带着重启,及时已经设置了开机自动重启,以及连带的其他问题。

方案二:Nas虚拟机+debian/ubuntu+宝塔

这个方案比起上一个就是拓展性强了,已经相当于单独用一台机器来部署服务器了。

优点:不会像docker一样在部署环境的时候不同php版本、或者其他插件出现故障的情况,安装或者构建时报错,所以尽管截止目前,docker版还只是作为反代服务来运行。

缺点:不能直接通过宿主机来管理网站文件夹,只能当做单独的服务器使用,但是好在也是可以通过安装一些ftp、smb插件来实现与本地电脑或者nas的通信功能。

图片[2]-方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?-觅影网

方案三:独立服务器+ubuntu

纠结来纠结去最终还是决定将n95这台小主机利用起来,虽然已经拍好照挂在闲鱼上。强烈建议大家使用nas+虚拟机的形式部署就好,没必要单独使用一台机器来单独部署宝塔。

这个的优缺点就不说了,除了要单独加一根网线占用一个网口外,最大的优点就是可以跑满物理机的性能,目前我的主要网站加上本地的所有反代服务均已部署到小主机上。

外网通信

目前使用的是nps反代+ddns解析两种方法同时使用,等到所有服务器都到期后会考虑只使用ddns一种线路。

nps的使用

如果你更趋向frp也是可以的,并不局限与使用一种服务。

我的思路:目前的反代服务器是腾讯云的一台2h1g和2h4g的200m轻量云,腾讯云的这个经过长时间使用检测,及时在晚高峰期也是不会有太大影响的,所以索性直接将服务器的80 443端口拿出来给nps使用,其他的所有请求都经过这两个端口转发,使用下来ms级的延迟影响不大,而大多数家庭网络的上行实际上100m都没有,所以完全是够用的,甚至还有较多的冗余。

图片[3]-方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?-觅影网

ddns的使用

这个大家应该是耳熟能详了,最常用的程序是ddns-go,ddns-go可以通过网卡或者ip接口来选择ip解析,这里我建议的是v4网络通过接口获取,v6则选择网卡获取。

我是怎么简单怎么来,nas的机子就是直接通过自带的ddns解析服务,用起来比较方案,缺点就是在ip变动时不会进行通知,但是我这公网据我观察好久没变动了。

图片[4]-方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?-觅影网

端口放行

如果你的网络是光猫桥接、路由器拨号,那么直接在路由器设置放行就行,我这个就比较痛苦了,需要现在路由器设置端口转发,再在光猫端做映射(因宽带非本人实名,所以超管密码获取比较复杂,索性就不折腾了。

图片[5]-方案分享:如何利用家庭网络部署私人服务器,同时实现外网访问?-觅影网

其他部署网站的操作就是和云服务一样的了,自行摸索,或者等我后续教程。

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容