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实例优惠活动,无疑是一个值得您重点关注和把握的机会。不妨现在就登录华为云官网,了解更多详情,并享受这次难得的促销福利吧!

相关推荐
weixin_4648381512 分钟前
grep命令如何实现正则表达式搜索?
linux·运维·服务器·网络安全·系统架构
岳轩子31 分钟前
linux安装jdk
java·linux·运维
我命由我123451 小时前
ADB 之 logcat 极简小抄(过滤日志、保存日志到文件)
android·运维·adb·android studio·安卓·运维开发·android-studio
迷茫运维路1 小时前
mysql5.7常用操作命令手册
运维·数据库
.生产的驴1 小时前
Docker 消息队列RabbitMQ 安装延迟消息插件
运维·spring boot·后端·docker·容器·rabbitmq·java-rabbitmq
霸道流氓气质2 小时前
CentOS上使用Mosquitto实现Mqtt主题消息发布和订阅mqtt主题消息连同时间戳记录到文件
linux·运维·mqtt·centos·mosquitto
高危型2 小时前
CentOS 入门
linux·运维·centos
桃花岛主702 小时前
Nginx搭建直播服务器,并用rtmp,http-flv,hls三种模式拉流观看直播的流程
运维·服务器·nginx
醉卧雕龙舫 、2 小时前
Linux中安装maven
linux·运维·maven
爱吃香蕉的阿豪2 小时前
828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~
ci/cd·docker·gitee·华为云·jenkins