废话不多说,我要毕业了,但是给学校部署的 OJ 需要有交接文档,本文目的就是概括本 OJ 部署的全流程以及部分技术细节,便于后人维护。
基础篇 1:基本系统安装
基本系统安装的话大致三个思路:1.一个基本系统+虚拟机/2.一个基本系统上直接跑/3.虚拟化容器(ESXi,PXE 等)。但是根据我个人的经验以及客观状态,前者是比较合适的,原因有二:1.我希望我的基本系统本身能够处理一部分高并发业务,故能排除 3;2.我希望能够便于无人值守时仍然能够对系统拥有全部的控制权,从而排除 2(这个是由惨痛经验证明,本人之前部署了一个 Minecraft 服务器,然后端在一次 Unexpected 的终止后就变成了一个占用 20GB 的 zombie 进程,极大拖慢了系统速度,最终导致死机/Kernel Panic,导致无法线上进行继续维护。而虚拟机方式,由于虚拟机本身的隔离机制以及 watchdog 机制,如果出现了死机或者 Kernel Panic,可以在宿主机中进行强制重启,从而最快恢复服务。而宿主机本身使用系统较为稳定,基本不太会崩溃。同时,这样的机制允许我虚拟机使用较新的软件)
2024/11/19大约 6 分钟
