为什么需要家庭服务器:我之前开发的web 应用都是部署在 vercel 上,长时间以来,十几个应用的用量都没有超过 vercel 的免费额度,但近两个月,由于在抖音得到了不少视频博主的推广, 高校分布可视化平台 这个应用的访问量突增,用量已大幅超出免费额度。升级了 pro plan 之后,包含的每月 20刀 的默认额度也 cover 不住了,还产生了不少额外费用。
VPS 价格贵,配置低。通常优惠的都是 2C 2G,跑不了几个业务。而且往往只能申请一次。
- 用来做什么:主力业务肯定不行,目前用来部署 umami 做统计分析等。
所需硬件及配置
我购买的迷你主机配置为:J1900 8+256G 。虽然 CPU 性能很差,但足够大的内存能支撑我部署很多玩具应用了。
我是在淘宝 科比特迷你电脑小主机 这家店买的,价格只需 387 元,再加上转接头也不到 400 元,让客服预装 ubuntu server 26 ,答复说 26 装不下,只能装 24 ,就很智障。
整个过程额外引入的硬件有:
- 一根网线
- 一台迷你主机
- DP 转 HDMI 转接头(我购买的迷你主机没有 HDMI口,只有DP,而显示器又没有 DP 口,所以需要用到转接头)。
效果和试用体验
硬件功耗真很低,几乎感受不到什么发热量。
安装部署过程解决国内网络环境问题。
配置、使用过程中,安装 ddns-go 、拉取 docker 镜像等过程,国内都会遇到网络访问障碍。可参考 为服务器配置科学上网 这篇教程,通过安装 Mihomo ,来解决网络环境问题。
家庭服务器如何实现公网访问
ipv6 DDNS + ipv4 frp 。
- DDNS-Go 配置AAAA 记录,自动更新 IPv6 地址到域名
使用 DDNS 动态解析域名到 IPv6 地址
虽然公网 ipv4 对于家庭宽带用户基本是不可指望的,但 ipv6 地址却是触手可及的,于是可以将域名解析到公网 ipv6 地址,用户最终使用 ipv6 访问服务。
根据我有限的经验,移动基本是默认开启ipv6的,电信似乎则不然。虽然 ipv6 可能会变,但可以定时自动根据 ipv6 地址更新域名解析。这个我几年前就写过 shell 脚本实现过,我最近才知道这种技术叫做 DDNS ,还了解到有一个叫 DDNS-GO 的工具可以很方便地配置实现这个功能,试了下果然 一分钟就配好了,比自己折腾脚本要方便多了。
无线路由器之前已经改成桥接模式,网关直接获取 ip 地址,基本不会变。
获取运营商光猫超级管理员密码
为了确保 ipv6 开启,可能需要获取运营商光猫的管理员密码,以进行一些配置,比如关闭一些防火墙项等。
当然可以直接联系售后说明需求,但如若不成功,就需要自己尝试获取了。我使用的移动光猫是 HG6145D 这个型号,在这里也把我的经验分享出来。
HG6145D 如何获取超级管理员密码
超管账号的获取我主要参考: 移动光猫怎么改桥接模式? - 知乎 这篇文章获取。但实际过程还是有些出入,主要是打开 telnet 还需要带上 key 这个参数。具体步骤如下:
- 开启设备 telnet 连接:设备Telnet 默认是关闭的,需要用带 MAC 的特殊 URL 开启,浏览器地址栏访问:http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key=AABBCCDDEEFF (替换 key= 后面为你的 MAC)
- 登录 Telnet:Windows 先开启 Telnet 功能1,然后:telnet 192.168.1.1
- 用户名:admin
- 密码:Fh@ + MAC 后6位(大写)
- 运行以下命令,会显示 CMCCAdmin / 超级密码,可登录网页管理页。
load_cli factory show admin_pwd
