用MiniPC搭建个人服务器

发布时间 2023-03-22 19:13:55作者: LingBrown

最近突然对小型电子产品产生的兴趣,经过一段时间调查,最终选择从迷你PC下手。因为类似树莓派的产品,还是有一定的上手门槛的。开发板类的产品也更偏硬件一点。而迷你PC除了小一点,其实就是一台电脑,我之前也有一些组装经验,还可以学习一下Linux和运维知识,技能点上也更契合我的职业。

硬件介绍

硬件规格

  • CPU:英特尔13代处理器N100,4核4线程,最高频率3.4GHz,配备24个EU的核显,频率是750MHz,TDP 6W。
  • 内存:单通道32G 3200mhz。
  • 硬盘:1TB M2 2280 PCIE 3.0 SSD,还有一个M2 2242 SATA接口没有安装硬盘。
  • 其他:支持WIFI6和蓝牙5.2

硬件展示




系统配置

Ubuntu安装

Ubuntu桌面版镜像下载:https://ubuntu.com/download/desktop
启动盘制作软件:https://www.balena.io/etcher


打开balenaEtcher后选择U盘和下载的iso文件即可,等待烧录完成。
后面安装Ubuntu网上有很多资料,就不仔细展示了。

SSH

参考文章:https://cloud.tencent.com/developer/article/1638882

在配置SSH时,一定要记得关闭防火墙,或者开放22端口。因为我这台机器还没有内网穿透,无法从外网访问,所以我关闭了防火墙,方便后续其他软件的安装。
接着可以下载连接SSH的工具,因为我是Windows系统,我选择的是Xshell。Xshell其实是有提供免费版的,访问这个网站,填入邮箱地址和姓名后,Xshell官方会把免费版的下载链接发送至你的邮箱。最好勾选两者,有时候也会用上Xftp。

软件安装

NetData - 硬件资源监控

页面非常炫酷的硬件资源监控工具,只需要一个命令即可安装启动。

bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)

随后在浏览器上访问:your_ip:19999 即可。
!

页面右手边就是可以监控的系统指标,还可以选择时间点,回看之前的系统资源使用情况。

Docker - 虚拟机容器

参考文章:https://zhuanlan.zhihu.com/p/143156163

安装完Docker后,它是默认随系统自启动的,所以后面在启动Docker镜像时,最好也配上自动重启,这样主机重启后也不需要再次启动镜像了。在docker run命令后加上--restart=always参数即可。

Portainer - Docker管理工具

参考文章:https://blog.csdn.net/qq_42411805/article/details/124506368

安装完后,浏览器访问:your_ip:9000,第一次访问需要注册、登录、配置。docker管理方式选择local就行,其他的保持默认就行。

Uptime Kuma - 服务监控工具

执行命令:docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
用浏览器访问:your_ip:3001。第一次访问也需要注册、登录。进入到主页后点击左上角【添加监控项】,配置一下服务的接口就行,它会定时去访问接口以确保服务正常。


本文启动的一些服务都很简单,没有什么鉴权机制,如果你的服务接口更复杂,里面的HTTP选项基本都能满足你的要求。

Flame - 应用和书签导航管理工具

执行如下命令

docker pull pawelmalak/flame
docker run -d --restart=always -p 5005:5005 -v /path/to/data:/app/data -e PASSWORD=123456 pawelmalak/flame

浏览器访问:your_ip:5005。第一次进入需要登录密码,密码就是上面命令中的123456。进到主页面选择添加应用,填入你的应用地址,选择图标即可。这个服务的主页就可以当一个导航页,把你的服务都添加进来,后续通过它进去就行了。

青龙面板 - 薅羊毛工具

青龙面板是一个基于Docker的定时任务执行系统,可以定时运行一些脚本。常用来薅羊毛,比如JD定时签到领取京豆。

参考文章:https://www.jianshu.com/p/ed10829b7cb0

这个工具安装过程相较于上面稍微有点复杂,不过上面这个教程写的非常详细,仔细看看,问题应该不大。

最后

效果展示

  • 硬件资源监控

  • 服务监控

  • Docker管理

  • 青龙面板

  • Flame导航页

  • 主机暂时就和WiFi搁一起吧

TODO

首先得明确一下需求,我暂时没有路由和NAS的需求。这台机器的需求主要是完全替代掉云服务器,毕竟差不多配置的云服务器价格也不便宜。目前计划的TODO如下:

  • 内网穿透,非局域网也能访问。
  • 使用Nginx代理服务,搞一个登录验证。
  • 部署个人网站。
  • 弄一套CICD系统,方便自己的代码快速编译、部署。不过为了数据安全起见,代码还是放在Github上,其余模块部署在MiniPC上。