1.背景介绍
在教育部“双减”政策下,ACM、OI 等信息学赛事逐渐被越来越多的人重视。而搭建一个优秀的信息学在线评测系统,对于学校教学、团队训练都是非常重要的。
在本篇【玩转Lighthouse】系列教程中,我将为大家介绍如何使用腾讯云 Lighthouse 实例,快速搭建 Hydro 信息学在线评测系统。
1.1.Hydro 介绍
Hydro 是一个高效的信息学在线测评系统。
特点:易于部署(且提供安装脚本),轻量,功能强大且易于扩展。
官方文档地址:https://hydro.js.org
GitHub仓库:https://github.com/hydro-dev/Hydro
2.服务器购买
考虑到 Online Judge 的主要受众是学生,在这里我们选择腾讯云学生云服务器(购买传送门)。
系统请选择 ubuntu 20.04 lts。
3.安装 Hydro
Hydro 部署方法有一键脚本、手动部署、docker 部署,在这里我们选择一键脚本。
如果您希望选择其他部署方式,可以 点击这里 查看文档。
点击实例名称进入控制台,开放服务器 80, 443, 8888 端口。
点击“登录”进入 ssh。
使用一键脚本安装 Hydro。
运行下面的脚本,等待几分钟即可:
代码语言:javascript复制LANG=zh bash <(curl https://hydro.ac/install.sh)
上面的脚本默认使用的为清华大学 tuna 镜像,使用海外服务器的用户,可以运行下面的脚本安装:
代码语言:javascript复制LANG=zh MIRROR=official bash <(curl https://hydro.ac/install.sh)
4.初始化
使用 您的ip:8888 访问 Hydro,并注册账号,第一个注册用户 UID 应该为 2。
在终端以 root 用户身份运行以下命令将用户设置为管理员:
代码语言:javascript复制hydrooj cli user setSuperAdmin 2
刷新页面,进入控制面板 -> 系统设置,填写如下内容:
- Server Name: 网站名称。
- Server BaseURL: 网站完整的 URL,需要以 / 结尾。
- IP Header: 若使用反向代理(含 Cloudflare 等 CDN 服务),请设置为其 IP Header(通常为
x-forwarded-for
或x-real-ip
,小写)。在不使用反向代理的情况下请勿配置该项,否则用户将可以伪造 IP 。 - Default display language: 网站默认语言。
5.参考资料
- Hydro Docs