用微主机替换树莓派

背景

使用树莓派和内网穿透,可以很好的部署一些自己的小网站,尤其是那些对可用性、稳定性不是很高要求的网站。不过局限于内存(8G)和SD卡读写速度,导致性能还是有一丢丢的慢。

如果用家用电脑或者NAS来搭建的话,一个是成本会很高,另外一个是功耗太大,24小时开机也是一笔不小的电费。

硬件更换

最近正好看到了微主机(M9),采用了interl N200的低功耗cpu,这样可以保证功耗不会太大(虽然比树莓派还是有点高的),待机也就10w~15w左右。也可以配置32G内存和1T固态硬盘,这样的性能比树莓派有很大的提升。

软件更换

更换系统

买来的时候预装了桌面系统,不过我们不需要桌面系统,作为服务器使用,只需要能够开机联网,打开ssh就可以了,剩下的都可以通过ssh操作主机。

系统安装比较简单,先下载官方的镜像,例如Ubuntu Server 22.04.3 LTS ,选择这个比较新的,长时间支持的服务版本。镜像下载

由于机器本身没有光盘驱动,所以需要通过U盘来安装系统。在mac上插入U盘,然后通过以下命令把系统镜像写入U盘。

1
2
diskutil unmountDisk /dev/disk2
/Users/shellingford/Downloads/ubuntu-22.04.3-live-server-amd64.iso of=/dev/disk2 bs=4m

一般需要等待10分钟左右,写入完成后,就可以把U盘插入微主机中,通过U盘启动机器,选择安装Ubuntu 系统。

安装过程中会有语言、系统分区等选项,按照提示操作就能顺利安装完系统。

安装中文包

安装完系统之后,界面是纯英文的,个人习惯装一个中文包。

1
sudo apt-get install  language-pack-zh-han-base

修改配置文件:
vim /etc/default/locale

1
2
3
4
5
6
7
8
9
10
11
12
13
#将原始内容注释掉或删掉,替换为如下内容:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MONETARY="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL="zh_CN.UTF-8"

修改环境文件(环境变量(当前用户)):
vim /etc/environment

1
2
3
4
5
6
7
8
9
10
11
12
13
#在原内容下面追加下列内容:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MONETARY="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL="zh_CN.UTF-8"

修改环境文件(环境变量(所有用户)):
vim /etc/profile
#追加下列内容:

1
LANG="zh_CN.UTF-8"

最后重启

1
reboot

启动卡住

原本以为一切很顺利,有线、无线网络都可以连接,ssh也是可以顺利连接的。就拔掉了HDMI、键盘、网线,把机器放到柜子上,然后启动了机器。

等了5分钟左右,依旧连不上ssh,只能强制关机,再链接HDMI,再开机,发现启动时卡住了。卡在了:

1
A start job is running for wait for network to be configured.

网上找了下原因,是因为Ubuntu在有多个网卡时,某个网卡无法连接网络时,会一直等待,造成无法进入系统。

解决方案:等待进入系统后,编辑 /etc/netplan/00-installer-config.yaml,将不是一直在线的网卡设为可选。

1
2
3
4
5
6
7
8
9
# This is the network config written by 'subiquity'
network:
ethernets:
enp1s0:
dhcp4: true
enp3s0:
dhcp4: true
optional: true # 添加这一行,将网卡 enp3s0 设为非必须的。
version: 2

然后执行

1
sudo netplan apply

最后重启机器就可以了。

1
reboot

更换安装源

由于安装的时候选择的默认安装源,在中国网络访问困难,所以可以改成阿里的源。

编辑 /etc/apt/sources.list

替换默认的 archive.ubuntu.com 为 mirrors.aliyun.com

对于阿里云ECS用户,需要将配置文件中 https://mirrors.aliyun.com/ 替换成 http://mirrors.cloud.aliyuncs.com/ 进行使用

1
sed-i 's/https:\/\/mirrors.aliyun.com/http:\/\/mirrors.cloud.aliyuncs.com/g' /etc/apt/sources.list

迁移数据

等一切搞定之后,就是将之前树莓派里的数据迁移过来。无非就是一些网站文件、mysql数据、docker镜像等等。

由于之前用的是宝塔,所以这里就直接使用宝塔的一键迁移功能了。

这个方便了很多,网站、数据库都可以一键迁移。docker的一些数据就只能自己复制过去了。

成果