家庭服务器篇十四_把红米2打造成一台ARM小服务器

作者:略懂的大龙猫

更新一下红米2作为ARM服务器的一些新玩法,还是那台神机红米2,还是那个很棒的PostmarketOS系统。这里不教刷机,只说玩法。刷机教程参考我之前的文章。

1.apk换源

PostmarketOS基于Alpine Linux,所以使用apk作为包管理。虽然我个人觉得官方源速度也还行,不过国内镜像的速度更稳定。三个国内镜像站:

清华TUNA镜像源:中科大镜像源:阿里云镜像源:

换源前首先看一下PostmarketOS的Alpine Linux版本,目前的PostmarkOS的内核版本应该是3.15:

#查看系统版本cat /etc/alpine-release#编辑源配置文件sudo vim /etc/apk/repositories#增加源地址v3.15/mainv3.15/community

替换源地址后,更新一下:

sudo apk update && upgrade

2.修改ash为bash

PostmarkOS默认的sh为ash,ash我不太熟所以我改为bash顺手一点(主要是为了配置bashrc)。PostmarkOS默认已经安装了bash,如果没有的话先安装一下:

#安装bashsudo apk add bash#修改默认配置sudo vim /etc/passwd

以root账户为例修改其默认sh

root:x:0:0:root:/root:/bin/ash#把上面这行改为下面的root:x:0:0:root:/root:/bin/bash

新建一个.bashrc文件用于配置别名,后面会介绍.bashrc的用法

sudo vim .bashrc

3.开启SAMBA

虽然红米2内存小,但支持OTG,所以做个NAS也不是不可以。那么安装samba吧:

sudo apk add sambasudo rc-update add sambasudo rc-service samba start

设置一下samba登陆用户和密码

sudo smbpasswd -a username

然后编辑samba的配置文件

sudo vim /etc/samba/smb.conf #在share里增加想共享的路径[share]   comment = share   path = /home   public = yes   writable = yes   printable = no   browsable = yes   valid user = username

我接下来会介绍通过OTG扩容,真正实现NAS功能。

4.设置WakeOnLAN

我是将这台红米2作为ARM服务器长期开机的(目前已经连续运转半个多月,Alpine挺稳的)。于是我想把这台红米2作为局域网内的远程开机设备。需要用到zerotier+wakeonlan:

zerotier负责搭建虚拟局域网,这样我即使在外地也可以打开家里的电脑。然后通过zerotier搭建的虚拟局域网通过远程桌面操作家里的电脑。zerotier的搭建之前有分享,这里也不讲了。

wakeonlan负责唤醒局域网内的主机。Alpine的自带程序库没有wakeonlan,所以我在GitHub上找了一个C语言版的源码自己编译:

#解压后编译gcc wakeonlan.c -o wol#把编译好的文件复制到bin文件夹方便调用cp wol /bin/wol

有wol mac地址的命令太长不好记,所以要设置别名方便远程操作,之前我已经介绍如何切换为bash且生成bashrc文件,接下来编辑它:

sudo vim /home/.bashrc#由于我有三台主机所以添加3个别名alias wolxzj=wol mac1alias wolzj=wol mac2alias wolbjb=wol mac3

这样我通过ssh远程红米2后输入wolxzj就可以唤醒我的小主机,wolzj就可以唤醒我的主机,wolbjb就能唤醒笔记本,然后再可以分别操作这些设备。

5.安装Nginx

虽然红米2性能很弱,这是在图形化界面的使用感受。如果是作为小服务器,其性能还是挺强的,起码和树莓派4有的比。我在上面搭建了一个简单网站,通过nginx部署,借用了云服务的反向代理功能,具体操作我有时间会写文章分享:

sudo apk add nginxsudo rc-update nginxsudo rc-service nginx start

6.OTG扩容

红米2容量太小了,一顿操作后容量不够用了。所以需要通过OTG扩容。有朋友问OTG怎么解决充电问题?我还真找到一个完美解决方案。关键词“充电OTG线”,虽然店家说仅支持平板电脑不支持安卓手机。但是事实上我的红米2刷PostmarketOS后可正常充电+OTG,我买的是OTG线就14元(3USB口+1个充电口)。为了测试又花了50元买了个二手西数500G的2.5寸黑盘。

将充电线插入OTG充电口,档位调到charge。然后插上500G硬盘和一个64GU盘,连接红米手机。

广告485串口服务器_多串口卡_全系列产品专业代理×广告华硕游戏本新品发售,咨询下单享好礼,更有免息优惠!×

首先确认手机正在显示示充电,然后SSH连接红米2。

注意由于postmarketOS不会自动挂载硬盘,所以一开始使用df -h命令看不到磁盘,需要用到lsblk命令:

广告web 服务器与应用服务器的区别是什么?×

#查看所有硬盘用lsblk或fdisk -llsblk#查看硬盘UUIDsudo blkid

可以看到500G的硬盘和64G的U盘正常识别,接下来需要挂载才能使用。记下硬盘名字,然后根据名字查看对应的UUID:

创建一个目录用于挂载硬盘,然后把挂载命令写入/etc/fstab:

#创建挂载文件夹sudo mkdir /media/twindows#设置自动挂载sudo vim /etc/fstabUUID="00BC-614E" /home/sd ext4 defaults 0 0#让挂载命令生效sudo mount -a

注意分区格式一定要正确,如果你的硬盘是ntfs等Windows格式需要安装软件ntfs-3g。如果安装了ntfs-3g挂载命令如下:

UUID="00BC-614E" /home/sd ntfs-3g  rw  0  0

挂载硬盘之后就可以安装aria2做下载机,安装Samba做NAS了。不过红米2WIFI速度太慢所以实际表现一般,通过USB共享网络可达到100M,但是wifi下就只有15M左右。手机功耗很低,长期挂载硬盘是否会出现电压不稳我暂时还没有测试。不过没有了容量的限制,CPU性能又还不错(至少能吊打树莓派3B),这下红米2是台货真价实的ARM服务器了。

有的OTG线可以通过USB连接网线,但我不知道PostmarketOS是否有对应驱动,囊中羞涩就没有买USB转网线OTG线测试了,有测试过的朋友可以分享一下结果。

7.aria2c下载机

有了扩容方案,这台红米2还可以作为下载机了。搭建下载机自然少不了aria2:

sudo apk add aria2

aria2的配置,我这个是简版:

# 保存目录dir=/home/downloads# 断点续传continue=true# 任务目录设置input-file=/etc/aria2/aria2.sessionsave-session=/etc/aria2/aria2.session# 定时保存任务save-session-interval=60# 启用RPCenable-rpc=true# 允许所有来源rpc-allow-origin-all=true# 允许外部访问rpc-listen-all=true# RPC端口,默认6800如果被占用可修改# rpc-listen-port=6800# 设置的RPC授权令牌rpc-secret=password

带配置的启动aria2命令有点长,所以还是通过.bashrc设置别名解决:

sudo vim /home/.bashrcalias runaria2=aria2c --conf-path=/etc/aria2/aria2.conf -D

基本就这些玩法了。PostmarketOS可以装Docker,其实玩法还有很多。但是硬件性能限制Docker对于红米2太臃肿了,我测试了一下功能就没有继续尝试了。另外需要选择支持arm的镜像。

好了大概就介绍到这里,大家有什么好的玩法和建议也分享一下吧!