部署 Hydro
部署 Hydro
这里提供了几套方案帮助您建立自己的站点,请选择适合您的方案并继续。
搭建过程中如果遇到问题欢迎 联系我们 提问。
服务器选择
不同服务商提供的 CPU 主频不同,下方数据仅供参考。
最低服务器配置: CPU: 1核 内存: 2G。(约可允许 100 人使用)
请尽量不要使用突发性能实例或共享型实例,这可能会导致评测时间计量不准确
CentOS 8 已于 2021-12-31 停止支持,后续不会为安全漏洞发布补丁,建议重装为其他操作系统。
Tips
兼容大部分 Linux 发行版,推荐使用 Debian 12 / Debian 11 / Ubuntu 22.04 (教程多,成功率高,上手简单),不支持 CentOS 及其各种变种:
- CentOS
- Alibaba Cloud Linux
- TencentOS
- OpenCloudOS
如果你的机器内存较小(<=2GiB),请避免使用 Ubuntu 22.04,它会消耗较多的内存。建议使用 Debian 12 / Debian 11。
如果你有 Linux 运维经验,Hydro 同样支持在 Alpine Linux 上运行,Alpine Linux 系统启动后仅占用 ~100M 内存,是在低配置服务器上运行的更优方案。
Warning
虚拟机用户请注意:
- Hydro 使用的数据库依赖于 CPU 的 avx 指令集以提高运行性能,大部分虚拟机软件默认没有启用 avx 指令集,请参照您使用的虚拟机软件说明。
- 虚拟机由于非独占 CPU,会导致评测时间计量精度降低。
- 由于虚拟机本身的数据保存机制,突然断电很容易导致数据库损坏无法读取,请务必定期备份数据库,有条件请购买 UPS 保证供电稳定。
Docker 用户请注意:
- 使用安装脚本需要设置
USER
环境变量为root
。 - 需要使用
--privileged
参数启动容器,否则评测机无法运行。 - 开发组不对 docker 部署提供技术支持。
第三方面板(如宝塔)用户请注意:
- 部分面板出现多次高危漏洞,为防止数据丢失,请不要在生产环境中使用!
- 开发组不对第三方面板部署提供技术支持。
部署
Tips
Hydro 需要使用以下端口: 80, 443, 2019, 8888, 5050, 27017,请确保这些端口空闲。
安装和安装后的所有操作均需要在 root 权限下进行!(sudo su
输入用户的密码, 或 su -
输入 root 账户的密码)。
运行下面的脚本,等待几分钟即可(建议复制防止敲错):
LANG=zh . <(curl https://hydro.ac/setup.sh)
Tips
如果有特殊需求,安装脚本支持一些可选的高级选项,以此方式调用: . <(curl https://hydro.ac/setup.sh) --foo --bar
- --no-caddy 不配置安装反向代理,只监听8888端口
- --judge 仅作为独立评测机安装
阿里云/腾讯云/华为云等等用户安装后如果不能访问 请百度搜索 xx云 放行80端口
脚本默认使用的为清华大学镜像。
安装完成后,从 http://服务器ip/
访问网页端,注册一个账号,之后在终端中使用
hydrooj cli user setSuperAdmin 2
将首个注册用户设置为超级管理员。之后刷新页面,您应当能在上方导航栏看到控制面板入口。
进入控制面板,右侧系统设置,验证管理员密码后按需修改配置,注意 Server BaseURL 一项需要填写访问网站用的完整的 URL,以 /
结尾。(重要,务必正确填写,样例:https://hydro.ac/
)
系统安装后需要题库,可前往 https://hydro.ac/d/tk/p 免费专区进行下载,支持批量导入。 至此,基础功能安装已全部完成,另,如果你的服务部署在内网,且希望外网的用户可以访问,可以百度搜索 “端口映射” 相关教程。