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

文章目录

      • 如何选配Flexus云服务器X实例服务器
        • HydroOJ
        • HOJ
      • 服务器资源的选取
        • 基础配置
        • 实例规格
        • 镜像、存储、网络
        • 弹性公网IP
        • 云服务器名称
      • 部署HydroOJ
        • 1.设置安全组、开放端口
        • 2.部署HydroOJ回到控制中心,远程登录
      • 部署HOJ
        • 安装docker
        • # 安装docker-compose
        • 部署HOJ

本篇幅为零基础教学,所有的过程都有指引,从选购到部署后的网站配置,无需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核2Gn*20G只推荐测试用,内存不足…
推荐服务器配置n*2核n*4Gn*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 有一键部署包 , 直接运行下面的命令,等待几分钟即可。

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分钟

git clone https://gitee.com/himitzh0730/hoj-deploy.git && cd hoj-deploycd standAlonedocker-compose up -ddocker 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实例优惠活动,无疑是一个值得您重点关注和把握的机会。不妨现在就登录华为云官网,了解更多详情,并享受这次难得的促销福利吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/422769.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka API操作

文章目录 1、 Kafka 基础API1_Topic基本操作 DML管理2_生产者3_消费者 sub/assign4_自定义分区策略5_序列化6_拦截器 2、Kafka API高级特性1_Offset自动控制2_Acks & Retries3_幂等性4_事务控制1、生产者事务Only2、消费者&生产者事务3、测试需要的三个消费者案例属性 …

常用环境部署(二十)——docker部署OpenProject

一、安装Docker及Docker-compose https://blog.csdn.net/wd520521/article/details/112609796 二、docker拉取OpenProject镜像 1、拉取镜像 docker pull openproject/openproject:14 注意&#xff1a; 拉取镜像的时候会有超时的现象出现&#xff0c;大家重新拉取几次就行…

JavaWeb开发中为什么Controller里面的方法是@RequestMapping?

在Java Web开发中&#xff0c;尤其是在使用Spring MVC框架时&#xff0c;RequestMapping注解被广泛应用于Controller层的方法上&#xff0c;这是因为RequestMapping是Spring MVC提供的一个核心注解&#xff0c;用于将HTTP请求映射到相应的处理器类或处理器方法上。通过这种方式…

AWTK HTML View 控件更新

AWTK HTML View 控件基于 Lite HTML 实现&#xff0c;从最初的版本开始&#xff0c;3 年多过去了&#xff0c;Lite HTML 做了大量的更新&#xff0c;最近抽空将 AWTK HTML View 控件适配到最新版本的 Lite HTML&#xff0c;欢迎大家使用。 AWTK HTML View 控件。HTML View 控件…

【数据结构(初阶)】——二叉树

【数据结构】——二叉树 文章目录 【数据结构】——二叉树前言1. 树的概念及结构1.1 树的概念1.2 树的结构 2. 二叉树的概念及结构2.1 二叉树的概念2.2 二叉树的结构2.3 二叉树的性质 3. 二叉树顺序结构及概念3.1 二叉树的顺序结构3.2 堆的概念及结构3.3 堆的实现3.3.1 堆的基本…

OpenAI 的 o1 大模型在数学和编码方面有了几乎 10 倍的能力提升!

你有没有想过,有一天人工智能可以在数学和编程这两个领域里,真正成为人类的“得力助手”,甚至是超越我们?最近,OpenAI 发布的 o1大模型在这方面取得了几乎 10 倍的能力提升。10 倍!你没有看错。这样的进步让人不禁怀疑:AI 真的能做到“秒懂”数学和编程吗?今天,我们就…

远程访问NAS速度慢??那是因为你没用对。。。

虽然局域网&#xff08;内网&#xff09;、公网&#xff08;外网&#xff09;经常被提到&#xff0c;但很多人依旧搞不懂分不清楚。。。 其实&#xff0c;简单的方法就是把局域网IP比喻成公司的内部通讯&#xff0c;公网IP看作公共通讯平台。 这样拥有公网IP能被直接远程访问&…

redis内存清理和linux系统清理缓存以及redis启动

1清空所有数据库 redis-cli FLUSHALL 2清空所有数据库redis-cli FLUSHDB 3. 删除指定的缓存键 redis-cli DEL <key>4. 设置键过期 redis-cli EXPIRE <key> <seconds>例如&#xff1a; redis-cli EXPIRE mykey 605.启动redis 这个启动命令要在/usr/loca…

【Canvas与密铺】90年代马赛克密铺效果 1920x1080

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>20世纪90年代马赛克瓷砖效果1920x1080</title><style type&…

MySQL:bin log

redo log 它是物理日志&#xff0c;记录内容是“在某个数据页上做了什么修改”&#xff0c;属于 InnoDB 存储引擎。 而 binlog 是逻辑日志&#xff0c;记录内容是语句的原始逻辑&#xff0c;类似于“给 ID2 这一行的 c 字段加 1”&#xff0c;属于MySQL Server 层。 不管用什…

如何处理DDOS攻击问题

随着信息技术的飞速发展&#xff0c;网络已成为现代社会不可或缺的一部分&#xff0c;极大地便利了个人社交和商业活动。然而&#xff0c;网络空间在创造无限机遇的同时&#xff0c;也潜藏着诸多威胁&#xff0c;其中分布式拒绝服务攻击&#xff08;DDoS&#xff0c;Distribute…

全球工业经济系统极端降水暴露数据集(2010年、2016-2035年和2046-2065年)

全球工业经济系统极端降水暴露数据集 数据介绍 1. 数据的时间覆盖范围&#xff1a; 数据收集时期为2010年、2016-2035年和2046-2065年。 2. 空间覆盖和投影&#xff1a; 空间覆盖范围&#xff1a;全球 经度&#xff1a;-180 - 180 纬度&#xff1a;-90 - 90 投影&#x…

qemu和libvirt的配置对比

libvirt的很多配置选项其实是调用了qemu的接口&#xff0c;但也有增加和优化的地方&#xff0c;本文主要总结这些配置选项&#xff0c;当个手册来查询。 按照centos停服前最后一版centos-8.5.2111提供的rpm查看http://mirrors.aliyun.com/centos/8.5.2111/AppStream/aarch64/o…

【JUC】16-Java对象内存布局和对象头

1. 对象的内存布局 在HotSpot虚拟机里&#xff0c;对象在堆内存中的存储布局可以分为三个部分&#xff1a;对象头、实例数据和对齐填充。 对象头&#xff1a;由对象标记和类型指针。

[数据集][目标检测]烟叶病害检测数据集VOC+YOLO格式612张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;612 标注数量(xml文件个数)&#xff1a;612 标注数量(txt文件个数)&#xff1a;612 标注类别…

精心整理|算法备案大模型备案最新数据汇总

根据《互联网信息服务算法推荐管理规定》第二条 在中华人民共和国境内应用算法推荐技术提供互联网信息服务&#xff08;以下简称算法推荐服务&#xff09;&#xff0c;适用本规定。法律、行政法规另有规定的&#xff0c;依照其规定。前款所称应用算法推荐技术&#xff0c;是指利…

Excel数据转置|Excel数据旋转90°

Excel数据转置|Excel数据旋转90 将需要转置的数据复制在旁边空格处点击鼠标右键&#xff0c;选择图中转置按钮&#xff0c;即可完成数据的转置。&#xff01;&#xff01;&#xff01;&#xff01;非常有用啊啊啊&#xff01;&#xff01;&#xff01;

【数据结构-一维差分】力扣1854. 人口最多的年份

给你一个二维整数数组 logs &#xff0c;其中每个 logs[i] [birthi, deathi] 表示第 i 个人的出生和死亡年份。 年份 x 的 人口 定义为这一年期间活着的人的数目。第 i 个人被计入年份 x 的人口需要满足&#xff1a;x 在闭区间 [birthi, deathi - 1] 内。注意&#xff0c;人不…

【C++登堂入室】类和对象(中)——类的6个默认成员函数

目录 一、类的6个默认成员函数 ​编辑二、构造函数 2.1 概念 2.2 特性 三、析构函数 3.1 概念 3.2 特性 四、拷贝构造函数 4.1 概念 4.2 特征 五、赋值运算符重载 5.1 运算符重载 5.2 赋值运算符重载 5.3 前置和后置重载 六、日期类的实现 七、const成员 八、…

解锁企业潜能,Vatee万腾平台引领智能新纪元

在数字化转型的浪潮中&#xff0c;企业正站在一个前所未有的十字路口&#xff0c;面对着前所未有的机遇与挑战。解锁企业内在潜能&#xff0c;实现跨越式发展&#xff0c;已成为众多企业的共同追求。而Vatee万腾平台&#xff0c;作为智能科技的先锋&#xff0c;正以其强大的智能…