828华为云征文|Flexus云服务器X实例快速部署在线测评平台,适用各种信息学教学

文章目录

本篇幅为零基础教学,所有的过程都有指引,从选购到部署后的网站配置,无需Linux基础。

可用于部署在线测评系统来提供给高中信息学,ACM类竞赛,信息学类培训机构或个人使用

将部署两个OJ平台,在文末有效果图,可按需进行部署使用。

如何选配Flexus云服务器X实例服务器

Flexus云服务器X实例是一款能自主选择选择可灵活自定义vCPU内存配比,非常适用于部署信息学教学平台,同时拥有海量的公共镜像,在扩展网站插件的时候也非常方便,同时该实例支持在不中断业务的情况下变更规格,提高了资源调整的灵活性和效率,非常适合在进行大规模比赛时即使扩展的场景。

本篇文章将针对HydroOJ 与 HOJ两个OJ平台进行部署教学,下面将提供两个OJ的大致的样式以及优缺点方便选用。

当前,华为云正热烈开展828 B2B企业节活动,其中Flexus X实例的优惠力度极大,非常值得一探。特别是对于那些对算力性能有高标准,并且需要自建MySQL、Redis、Nginx以达到卓越性能的朋友们,这绝对是一个不容错过的机会。

HydroOJ
  • 拥有强大的评测系统,评测设置支持可视化页面配置,可评测 SpecialJudge 题、文件 IO 题、函数交互题、IO 交互题、提交答案题、客观题试卷,支持 Hack 功能,支持自定义编译和运行过程以支持所有存在的题型。
  • 拥有强大的权限系统,可通过六十余项细粒度权限自由管理用户在域内的所有权限。还可将用户分配至小组,设置资源仅对某些小组开放,非常方便学校/培训机构对学生进行分组管理。
  • 拥有作业功能,方便学校/培训机构为学生设置作业。拥有训练计划功能,方便用户分享做题计划。
HOJ
  • 支持手机端,响应式布局
  • UI美观,拥有讨论区、题目讨论、比赛讨论、同时拥有站内消息系统,支持私有训练、公开训练(题单)
  • 支持testlib的特殊评测、交互评测、子任务评测,高度集中网站配置,操作简单

服务器资源的选取

根据OJ的使用情况,我们应当选用相应的服务器资源,Flexus云服务器X实例能解决在线测评平台可能会存在阶段性高负荷使用的情况,在资源不足的情况下可以即时补充不需要担心。

在线测评系统对CPU和内存的需求都较高,在此我们仅仅考虑中小型网站索要选用的资源比。因为是零基础教学,所以我们将尽可能的对每一板块都进行介绍,如果您熟悉某一部分可以直接跳过。

首先进入华为云# Flexus云服务器X实例页面,点击购买进入服务器资源选配。

基础配置

计费模式 : 包年/包月(测试选择 : 按需计费)

区域 : 默认选择离您当前位置最近的,不用改变

实例规格

选择服务器内存与vCPU大小

Hydro建议最低配置 :CPU: 2核 内存: 4G
HOJ官方给出的推荐配置 :

不建议使用官方给出的最低服务器配置,在多数服务器中都会出现内存不足,测评机挂机的现象,无法正常测评,甚至网站崩溃。

推荐程度 CPU 内存 硬盘 建议
最低服务器配置 1核 2G n*20G 只推荐测试用,内存不足...
推荐服务器配置 n*2核 n*4G n*20G 推测大约n*(100~200)人使用
镜像、存储、网络
  • 镜像

可以使用CentOS , Ubuntu , Debian 这几个Linux发行版本,尽量选择已经被测试过的版本。

CentOS 8.2 64bit(40GiB)

Ubuntu 22.04 server 64bit(10GiB)

Debian 9.0.0 64bit(40GiB)

Ubuntu 22.04 server 64bit(10GiB) 对于低内存的服务器不是很友好,建议内存大于4G以上使用。

  • 存储

建议预留20GB的内存就能完成日常使用,如果选用HOJ 需要预留 30GB左右。

  • 网络

默认即可

弹性公网IP

务必购买 : 不使用弹性公网IP的云服务器不能与互联网互通,仅可作为私有网络中部署业务或者集群所需云服务器进行使用。

后续为服务器挂载临时测评机的时候无需购买

要考虑在线测评平台主要应用的场景,一般来说对于普通用户的一次请求大概占用 0.4M/s , 对宽带的选用我们需要考虑很多东西, 网站是否动态化,是否有相关的文件需要下载,是否要进行比赛。

一般来说如果仅仅用于日常评测使用,推荐使用按宽带计费,每日使用人数 / 20 的宽带足以 。 超过100人可以按照 每日使用人数多50再加1MB ,大型OJ需要自行进行测试 。

需要进行比赛,日常使用人数较少,可以使用按流量计费 ,可以直接选大宽带, 我测试的服务器因为不会有很大的压力,所以选择的是 4MB宽带。

云服务器名称

在当前位置设置密码,重命名

购买服务器即可

部署HydroOJ

1.设置安全组、开放端口
  1. 进入服务器的控制中心,点击安全组 , 配置规则
  1. 点击入方向规则,添加端口信息

  2. 添加端口信息 开放80,443,2019,8888,5050,27017 端口 , 优先级为1

  1. 同理添加出方向 80 端口 , 优先级为 1
2.部署HydroOJ回到控制中心,远程登录

按照图示操作即可。

因为 Hydro 有一键部署包 , 直接运行下面的命令,等待几分钟即可。

cpp 复制代码
cLANG=zh . <(curl https://hydro.ac/setup.sh)

中途可能会有部分警告,不用担心,只要安装完成后几个容器能正常 open 即可。

最终使用刚刚创建的弹性公网IP就能访问自己创建的OJ平台。

部署HOJ

需要注意的是HOJ的UI虽然更加的现代化,但是HOJ没有一键部署的功能,下面我将一点一点引导您进行HOJ的部署。

!\[Pasted image 20240906165814.png]

首先进入到服务器的后台

安装docker
  1. 安装需要的包

    sudo apt-get update

安装依赖包

复制代码
sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common

Do you want to continue? Y/n 输出 Y

添加 Docker 的官方 GPG 密钥

复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置远程仓库

复制代码
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

Press ENTER to continue or Ctrl-c to cancel. 按一下回车

安装 Docker-CE

复制代码
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

验证是否成功

复制代码
sudo docker run hello-world

如果成功会显示如下场景 :

如果未成功,请第一时间检查自己机器的内存,如果小于3G可能是因为内存溢出导致的,只能升级配置在使用。

# 安装docker-compose
  1. 下载

    sudo curl -L https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

授权

复制代码
sudo chmod +x /usr/local/bin/docker-compose
部署HOJ

一键部署,需要等待大概10-20分钟

cpp 复制代码
git clone https://gitee.com/himitzh0730/hoj-deploy.git && cd hoj-deploy

cd standAlone

docker-compose up -d

docker ps -a

目前,华为云正在盛大举办其年度828 B2B企业节,这是一次专为企业用户打造的数字盛宴,汇聚了众多云计算产品与服务的超值优惠。在这场活动中,Flexus X实例以其前所未有的促销力度,成为了众人瞩目的焦点。

Flexus X实例,作为华为云旗下的高性能计算解决方案,凭借其强大的算力性能和灵活的资源配置,能够满足各种复杂应用场景的需求。无论是大数据分析、机器学习、还是高性能计算,Flexus X都能提供稳定、高效的支持。

而对于那些对自建数据库、缓存、以及Web服务器性能有着严格要求的用户来说,Flexus X实例更是不可多得的选择。它能够轻松应对MySQL数据库的高并发访问,确保数据的快速读写与安全性;同时,对于Redis这样的高性能缓存系统,Flexus X也能提供充足的资源保障,确保缓存命中的高效与稳定。此外,在Nginx作为反向代理或负载均衡器时,Flexus X实例同样能发挥出其强大的网络处理能力,为用户的Web应用提供流畅、稳定的访问体验。

因此,如果您正寻找一款性能卓越、灵活可靠的云计算解决方案,那么华为云828 B2B企业节中的Flexus X实例优惠活动,无疑是一个值得您重点关注和把握的机会。不妨现在就登录华为云官网,了解更多详情,并享受这次难得的促销福利吧!

相关推荐
zzzzzz3106 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode6 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220701 天前
如何搭建本地yum源(上)
运维
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz4 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化