学校的有线网络pppoe拨号能用上公网ipv4,于是我就打算搞一台小主机当服务器。

硬件

配置如下:

Model Price Source Note
NEC8代小主机(主板+机箱) 239 闲鱼 其实是联想的马甲
联想90W电源 27 闲鱼
DDR4 笔记本 8g x2=16g 95.5 闲鱼
i3-8100 118.81 拼多多
m2 256g 固态硬盘 0 - 我有闲置的

共计480.31¥。

注意事项

我买到的这个主机可能内存条插槽有点氧化了,用内存条反复在插槽中摩擦了几下才正常工作。

HDMI接口不是特别牢固,把HDMI线往下压住才能正常工作。DP没有这个问题。

Q&A

Q:为什么CPU不选用适用于低功耗主机的i3-8100 t

A:

  • i3-8100比i3-8100t便宜了约30,并且这个主板支持标压处理器。
  • i3-8100t不过是在CPU层面限制了功耗,而我的这个主板本身也在设计时限制了最大功耗。没有必要选用i3-8100t。
  • 散热器压得住i3-8100,且噪音不算大。(轻度使用无噪音,重度使用轻微噪音)

软件

这个小主机的用途是小型服务器,因此采用linux系统。秉着省事的原则,采用ubuntu24LTS。

服务器用途

  • 架设web服务,例如:游戏服务器、原型开发的demo服务器
  • 搭建开发环境,利用vscode remote ssh,将部分开发工作迁移到linux上是一个不错的选择

推荐安装

  • openssh:这个肯定是排在第一位的,远程连接的基石
  • xrdp服务:由于服务器不方便一直连在显示器上,利用xrdp能很容易地通过远程桌面访问
  • docker
  • vscode-server:在利用vscode remote ssh连接时,会自动安装。该服务提供了远程开发环境的支持

在公网能访问

  1. 找一个路由器支持的ddns提供商
  2. (optional)为你的域名增加一个CNAME解析,目标为ddns提供的很丑的域名
  3. 路由器添加端口映射,将公网端口映射到内网

  1. 在系统自带的远程桌面会在会话结束的那一刻,系统会死机。(网上根本找不到相关资料,很难想象一个LTS系统会这样)
  2. 开发中间件远离ubuntu snap,尽量用apt安装。我用snap安装的nodejs死活都无法使用本地代理。