当前位置 : 主页 > 编程语言 > 其它开发 >

记一次低功耗个人服务器的组建

来源:互联网 收集:自由互联 发布时间:2022-07-13
记录一台个人服务器从硬件选择到系统安装、网络配置和终端访问的部分。 记一次低功耗个人服务器的组建〇、用途 契机是想开个Minecraft服务器和朋友一起玩。先是尝试了手机的Linu
记录一台个人服务器从硬件选择到系统安装、网络配置和终端访问的部分。 记一次低功耗个人服务器的组建 〇、用途

契机是想开个Minecraft服务器和朋友一起玩。先是尝试了手机的Linux Deploy应用,原理是在安卓上运行Linux容器。但发现MC服务端进程总会莫名其妙地在小核上运行,再加上内存不太够,游戏体验不太好。不但做不到24小时无人看管运行,手机散热也支撑不住。

因此打算装一台正经的x86服务器,以后功能扩展也没什么限制,同时接触学习一下Linux。

这篇文章仅记录一下从硬件到系统安装、网络配置和终端访问的部分。

一、硬件配置

服务器放在家里,为了兼顾低功耗、低预算和一定的性能,最后选择了1155的E3平台(捡垃圾)。

项目 型号 花费 CPU Xeon E3-1220L@2.2GHz 2C/4T 128 主板 Asus P8B-X 162 内存 Samsung ECC DDR3@1333MHz 4G 80 SSD Sandisk X110 64G 88 散热 (全铝下压式) 20 电源 长城 Prime 450W 铜牌 249 机箱 航嘉 GS400C 99 *无线网卡 Intel 8260AC 75

表内价格是2021年6月的,加上一些杂项,合计不到1000块。

  • 一代E3是钎焊,二代虽然不是,但性能和功耗表现更好。不过L后缀发热小,区别不大。TDP20W,最大睿频3.4GHz,2C4T够用。

E3-1265L V1/V2,带核显,4C8T,性能更强。

E3-1220L V3@1.1GHz,极低功耗极低性能。

新平台Athlon没了解,听说也不错。

  • 主板是服务器级的,支持ECC,有双千兆网卡和集显,存储扩展性好。
  • 如果有视频点播等读取密集型的用途时一定要多加内存,可以减少读取保护硬盘。
  • 系统盘捡的拆机MLC SSD,装Linux不需要多大空间。只要主控不坏就是稳的。
  • 电源虽然最贵,但7x24小时运行需要很高的稳定性,不能马虎。
  • 无线网卡就是图个方便,后来还是接了网线。
  • 其他部件很随意。如果装HDD要注意下机箱共振。没有显示器和键盘,借用了下舍友的,配置完SSH就不需要了。

最后测试整机空载功耗20多瓦,几乎无噪音。若是加了HDD可能功耗要高些。

二、系统安装和访问 系统安装

服务器系统选择了Ubuntu Server 20.04 LTS。官网下载镜像,用U盘安装。

安装教程网上一搜一大把,找个靠谱的照着装就行了,不赘述。

需要注意的有几点:

  • 网络配置,如果还连着显示器键盘可以先不管。
  • 换国内镜像软件源,中科大、清华的都可以。
  • 磁盘分区设置时,如果打算装多块HDD,去掉“Set up this disk as an LVM group”的勾选。
  • 勾选安装OpenSSH。

安装完成后重启,输入用户名密码登录。

此时可以更新一下软件包:

sudo apt update
sudo apt upgrade
网络配置

一台服务器必须要做的就是联网。输入ip a命令查看网络设备,en开头为以太网卡,wl开头为无线网卡。

配置网络,需要修改netplan配置文件:

sudo nano /etc/netplan/*.yaml

如果没有默认配置文件,先生成一个:

sudo netplan generate

这里配置了有线网enp4s0和无线网wlp5s0,参考如下,注意缩进都是空格而不是tab:

# This is the network config written by 'subiquity'
network:
  version: 2
  # Ubuntu Server使用networkd
  renderer: networkd
  # 有线网卡配置
  ethernets:
    enp4s0:
      optional: true
      # 服务器固定地址,关闭DHCP
      dhcp4: false
      # 静态IP地址
      addresses: [192.168.1.123/24]
      # 网关地址,比如宽带光猫的地址
      gateway4: 192.168.1.1
      # DNS服务器地址
      nameservers:
        addresses: [114.114.114.114, 8.8.8.8]
  # 无线网卡配置
  wifis:
    wlp5s0:
      optional: true
      # 接入点列表
      access-points:
        "接入点名称":
          password: "接入点密码"

修改后Ctrl+S Ctrl+X保存退出,并应用该配置,如果没有错误就会生效:

sudo netplan try

此时输入ip a查看对应的网络接口是否已经获得了地址。

也可以测试网络的连通性:

ping baidu.com -c 3

更多配置请参考:netplan网络配置 - Cloud Atlas

SSH和UFW防火墙

在拔掉所有外设,使用远程终端前,不要忘记先配置一下ssh。

安装系统时如果没勾选OpenSSH,则手动安装:

sudo apt install openssh-server

修改ssh配置:

sudo nano /etc/ssh/sshd_config

首先是修改默认端口,可以选择任意不常用端口:

Port 62222

禁止root用户密码登录:

PermitRootLogin prohibit-password

ssh配置项很多,比较在意安全的同学可以在搜索引擎输入“SSH安全”,包括登录用户限制、密钥登录等。

Ubuntu Server自带UFW防火墙,查看UFW状态:

sudo ufw status verbose

如果输出为Status: inactive,则需要启动UFW:

sudo ufw enable

UFW默认配置为允许一切出站连接,拒绝一切入站连接,因此需要手动开放端口以便使用SSH。此处开放的端口号应与ssh设置的一致:

sudo ufw allow 62222

如果有其他服务需要,也应当在UFW开放端口以正常使用。

服务器现在可以拔掉外设丢在角落里吃灰了,打开Windows PowerShell,在服务器同一局域网环境下输入(假设用户名为akarin):

ssh akarin@192.168.1.123 -p 62222

输入yes接受指纹,并输入密码,就能进到终端界面了。

退出终端只需输入logout;重启服务器则输入sudo reboot


目前局域网范围内的服务器就算搭建完成了,虽然还没有任何对外服务,但已经具备了基本的扩展条件。

不过人不能一辈子待在家里用局域网,下一篇文章会讲一下互联网环境下服务器的远程访问。

网友评论