半小时,在Win11SL上部署你自己的 Online Judge

· · 个人记录

更好的阅读体验

作为一个OIer,拥有一个自己的 OJ 还是十分有用的。你可以创建自己的独特题库并不断练习。在洛谷这么久,相信你早就看管理员不爽了。假使你自建OJ,你就是超级管理员。如果你的学校还没有自己的 Online Judge,你也可以为学校创建一个信息学评测平台。这并不复杂,也不需要很大的成本,只要你耐心地遵循本文的步骤进行操作,你一定可以成功建立你的OJ!

下面进入正题:

1.准备工作

确保你有最新版的win11,然后安装开发人员主页(预览版)

(就是叫你更新一下啦)

我的笔记本是这样的

1.1 配置你的WSL

打开开发人员主页,你会看到这样的内容:

点击左边菜单栏第三个按钮(计算机配置)

点击“安装应用程序”

可能要加载一段时间,请耐心等待哦 ~

为什么说是“半小时”?大部分时间就浪费在这了(悲)

加载好之后,在这些应用程序中找到vim,python-pip,curlgit,给这些应用全部点击右上角的+号。狗许安好否界面大概如下:(因为我先前已安装过后面三个应用,所以是灰色的,你们应该可以勾选)

注意看右边的框,确定你有没有勾选玩。

确认完毕,点击next,开始安装。安装过程我就不截图了。

可能会出现有应用安装失败的现象,确保python-pip,curlgit安装成功就行了,vim可以不装。

装完后建议重启一下电脑。

1.2 配置docker(非必须)

在你的桌面上找到docker desktop,双击打开。

点击上面一栏的设置图标,在哪我不指了。点击"docker engine"。

在里面加上这样一堆:

  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]

整体应该就是这样的:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}

效果如上图,点击"Apply&Restart",重启docker软件。

2.安装 Online Judge

现在很多地方建OJ都会选择 Hustoj 。这个OJ的确很经典,但是它的 UI 设计是真心有点看不下去,所以我们选择另一款开源OJ:Qduoj。这款OJ来自于青岛大学。Qduoj 的设计风格真心不错,它唯一的缺点就是:不支持Pascal。所以使用Pascal语言的同学,赶快转到C++吧!

Qduoj 的开源项目在 Github 上,我们需要将它下载到本地。

用管理员权限打开cmd,并定位到你想要存储OJ数据的地址。我选的是D盘。然后输入:

git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy

如果get失败的话多试几次。注意:千万不要手动用浏览器进github去下载!只能用git !

拉取完成后请输入:

docker-compose up -d

耐心等待一会,等他顺利运行完且没有报错后,你的OJ就安装好了!

确认你的OJ是否可用请在cmd中输入:

docker ps -a

当看到所有的容器的状态没有 unhealthyExited (x) xxx 就代表 OJ 已经启动成功。

如果遇到 unhealthy 请不要惊慌,这可能是你的OJ还在后台初始化。请耐心等待一会,再运行此命令。

如果遇到 Exited (x) xxx ,你可以在docker desktop中查看详细信息,并手动重新启动服务器。

3.配置 Online Judge

访问127.0.0.1就可以看到你的Online Judge了。

点击右上角的“ Login ”,登录初始管理员账户

账号:root

密码:rootroot

登陆后点击右上角的root,选择“ Setting ”就可以设置语言、昵称等信息。更多管理设置在/admin下。随后的设置,就留给你自己去探索吧。

官方文档在这里