出于个人需求和兴趣,本人在校园网环境下搭建了一台物理服务器。说是服务器,本质是一台低功耗的 ITX 主机,但折腾搭建过程本身,属于相当有趣的实践。本文记录选型的考量与系统部署的经过。
◆为什么不用云服务器
如果不是为了折腾,是运行一个博客或一项轻量服务,云服务器无疑是更优的选择。按月计费,公网地址与网络接入均无需自行维护。
本人采用物理机主要处于这样的需求:有兴趣折腾,有过电脑组装经历,愿意排查服务器的物理问题,机器是否安装到位,芯片选型等;个人对游戏服务器搭建有兴趣,而较好游戏服务器的价格属实不算便宜,长期游玩成本逼近我的直接购机预算;对家庭网络拓扑结构以及nas等存储设备有兴趣。在这些过程中也能用到之前学习过的linux知识,提高自身能力和积累实践经历。
需要注意的是,本机处于校园网环境,网络问题前前后后弄了很久,为了解决校园网认证,设备限制,以及缺少公网ip,后面都下了不少功夫,确实不如云服务器便利,此处暂不展开。
◆硬件怎么选
首要原则是按自身需求选型。由于26年离谱的内存价格,全新的机器不太现实,加之我常常使用某鱼,前段时间在搭建网络环境时淘到过很有用的电子垃圾,于是就开始找垃圾之旅,第一次的机器是惠普的800g3,i5-7600t的芯片,530块包邮竟然还带了16g的d4和256的m2固态,当时真的感觉捡漏了,后来尝试了mc服务器,感觉不能满足个人需求,送给老弟作为学习机了。
由于还兼顾游戏需求,加之d5内存很贵(后面还更贵了,当时下手还算明智),d5的准系统都比较便宜,最后在某鱼选择了铭凡 795S7的itx,芯片是7945HX,十六核三十二线程,单核性能亦足以应付 Minecraft 服务端。以服务器的标准衡量,这已经是明显过剩的配置,基本上常见的整合包如香草纪元,乌托邦之旅,工匠技艺革新都没啥问题,如果服务器人数比较多,瓶颈就更看内存大小了。个人需求比较多,还需并行运行其他服务,留出的余量并不浪费。内存为 24G,基本可以在游戏服务器占用16g后,还能满足个人日常代码和博客等需求,硬盘取自笔记本上拆下的 512G 固态,此项未产生额外支出。
最好选择带核显的平台。服务器一旦网络配置出错,SSH 便无法连接,机器就成了摆设,若能接上显示器,可以直接坐在机器前敲命令行。核显性能本身无关紧要,能输出画面足矣。
◆安装系统之前
关于如何制作系统盘,可以看我的另外一篇博客。
关于服务器的ip可以直接在路由器中分配静态地址,方便我们后续同局域网下操作。
◆安装 PVE和Ubuntu Server 24.04
我选择的底层系统是pve,主要是看了很多攻略视频,感觉这个可以满足我的多样化需求,反正cpu的性能是溢出的。
安装 PVE
从 U 盘启动,在引导菜单里选 Install Proxmox VE。
文件系统有 ext4、xfs、btrfs 和 zfs 四种可选,只有一块盘的情况下选 ext4 就行。
设置密码与邮箱,这里设的密码对应 root 账户,之后登录网页需要用到,这里的邮箱好像挺重要的,不要随便填写。
网络要格外注意。敲一个网段下空闲的ip,可以考虑从后面几个ip选择,一定要格外注意不能敲错
确认摘要后开始安装,装完重启并取出 U 盘。系统起来后屏幕上会打印管理界面的地址,在浏览器里打开:
https://192.168.1.50:8006
界面走 https,证书由系统自签,浏览器首次访问会给出安全提示,确认继续就行。登录账户是 root。登录后如果弹出订阅提示,直接关掉,社区版不订阅也能正常用,只是得换掉软件源才能收到更新。
更换软件源
这里可以考虑使用大佬的脚本,包括换源,调优等内容
PVE Tools Pro | Proxmox VE 一站式运维工具箱
安装命令是
bash <(curl -sSL https://pve.u3u.icu/PVE-Tools.sh)创建虚拟机并安装 Ubuntu
Ubuntu 装在 PVE 的虚拟机里。进入左侧的数据中心视图,选中 local 存储的 ISO 镜像分类,用上传按钮把本机下载好的镜像传上去。
镜像就位后点右上角的创建虚拟机,按向导逐项填。这里的很多东西默认就可以。
配置确认后启动虚拟机,切到控制台标签页,就能看到 ISO 的引导界面了。安装类型注意要选 Ubuntu Server 而不是 minimized 版本
◆安装 1Panel
到这一步服务器的命令行环境已经能用,接着安装管理面板。1Panel 是飞致云开源的服务器运维面板,把文件管理、容器、数据库、网站和计划任务都集中到网页界面里
在 Ubuntu 里用 root 或者加 sudo 执行官方脚本:
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
脚本是交互式的,依次询问安装目录、面板端口、安全入口、用户名和密码
装完终端会打印访问地址,形如:
http://192.168.1.50:端口/安全入口
面板走 http,打不开的话先确认端口和安全入口没写错,再检查系统防火墙有没有放行这个端口。安全入口忘了可以在服务器上查:
1pctl user-info
1Panel 还提供了 1pctl 命令行工具,用来查询和维护面板本身。面板里的容器、网站和数据库功能依赖 Docker。
一台可用的服务器就算搭好了。接下来要做的是在面板上把常用服务部署起来,运行游戏服务器,还可以考虑穿透服务进行远程开发。