
ServerOperations -学生时代作品
一、简介
该平台主要为没有实操环境的专业或非专业人士提供一个虚拟的服务器环境练习,对于 一些正在学习服务器操作相关的人士,由于每次练习都是在同一种环境下操作,导致在学习 的时候误认为自己已经掌握了该操作,从而在工作上遇到一些未知的错误没有最基本的排错 能力,该平台就是还原出企业中常见的错误与服务搭建的环境,供用户在就业前更近距离的 接触相关的操作。
进而,平台名为《模拟企业服务环境需求练习平台》,用户在平台上的操作看似在浏览 器上操作,实则是通过远程链接服务进行操作虚拟服务器,由于用户所有的操作都基于虚拟 服务器上,于是平台的简称位《ServerOperations》,翻译为服务器操作 。
二、平台功能介绍
1、平台功能概述
创建虚拟服务器,提供练习操作;
模拟多样化服务器环境,提供多方面针对性练习;
多节点服务操作,提供集群类型练习,可短时间同时获得两台及两台以上的虚拟服务器 并发操作;
验证操作,提供用户实时得知是否操作正确; 积分统计,用户完成练习按照时长百分比得分。
2、平台优势
用户自己搭建的虚拟机进行练习,有以下不足:
A、资源上,创建虚拟机得先安装虚拟化软件,再创建虚拟机,虚拟化软件会占用物理 机得资源,创建得虚拟机也会大量占用物理机资源;
B、时间上,创建一个虚拟机最快也要花五六分钟才能创建成功;
C、在环境上,用户的电脑大多数都是配置不够支撑多台虚拟机运行,导致每次操作练 习的时候只有一种环境。
该平台在资源、时间、环境上弥补了用户自己搭建的虚拟机的不足:
A、资源上,由于该平台使用Web服务运行在浏览器上,以及所有操作都是在浏览器 上操作的,每个虚拟服务器环境都是平台分配自身资源供用户操作使用,对于用户来说,只 要有一台可以上网的电脑即可随时随地使用该平台练习;
B、时间上,在该平台使用创建虚拟服务器,最快只需1-3秒,最慢不到半分钟,只对 于用户来说,想要用不同的环境进行练习时,只需鼠标一点,即可获得虚拟服务器练习操作。 模拟企业服务环境需求练习平台v1.0 第4页/共20页;
C、环境上,该平台提供多样化题型,多元化环境,让用户每次练习都是在一种未知的 环境下,锻炼用户面对突发性的冷静解决与准确解决。
对于用户每次的操作都是在平台前端浏览器上完成的,平台后端只提供创建虚拟服务器、 验证虚拟服务器、摧毁虚拟服务器以及记录用户相关的数据;由于用户每次使用的虚拟服务 器都是用完即关并摧毁的,这对平台后端的存储服务有着大大减轻工作量
3、平台的功能实现思路与步骤
思路:对于任何一个个服务器来说,所有资源、软件、配置等在硬盘上都是以文件的形 式构成的,对于服务器相关的答题练习都可以根据服务器中的文件是否存在、是否正确、是 否可正常调用执行。
步骤:使用docker容器技术,创建虚拟服务器来模拟一些环境,对每个用户创建的容 器实例进行获取唯一标识,并保存在数据库中,在用户进行验证答案时,就从数据库中调用 容器实例的唯一标识,去查找每个题目中指定的文件是否存在、是否正确、是否可正常执行 来判断用户是否正确完成题目要求。
4、平台的核心代码说明
1、mysqlpdo( )类
调用该类可对数据库中的数据进行读写操作,读取/修改用户的基本数据、读取题目环 境配置数据、读取用户操作容器实例的基本数据等。
2、Create( )类
调用该类可对用户发起的创建打开容器实例请求进行初始化配置,获取容器实例基本数 据,返回容器实例基本信息并调用mysqlpdo()类对数据库进行插入用户对应的容器实例等 基本信息。
3、verify( )类
调用该类可对用户发起的验证容器实例的请求进行校对,并返回结果,当结果正确时, 进行积分计算发放等功能,并调用mysqlpdo()类对数据库进行修改/删除用户对应的容器 实例等基本信息
三、平台操作流程图
四、普通用户使用说明
打开浏览器,在URL上输入服务器IP地址/域名,打开登陆/注册界面。
1、注册登陆账号。
注册账号必须要有一个邮箱接收验证码,对于注册账号的基本要求,用户名要大于等于3位字符小于等于10位字符,密码同理,如图4-1.1所示。对于用户注册失败有以下几种原因,邮箱已被注册、用户名或密码长度未达到要求,验证码过期等,对于这些注册错误,都会在右下角的消息弹窗中提示用户,如图4.-1.2所示。
图4-1.1 注册界面
图4-1.2 注册失败
2、成功登陆账号后,会显示在主界面右下角中的消息弹窗“登录成功”,主界面为题库
图4-2 主界面
3、题库界面。
题库界面中包含全部题目、排错维护、系统管理、编写脚本、服务搭建、集群管理等题型,主界面题型默认为全部类型,需精确选择题型,则需点击排错维护、系统管理、编写脚本、服务搭建、集群管理按钮,即可筛选出需要的题型,如图4-3.1、图4-3.2、图4-3.3、图4-3.4、图4-3.5所示。
图4-3.1 排错维护
图4-3.2系统管理
图4-3.3 编写脚本
图4-3.4 服务搭建
图4-3.5 集群管理
4、题型分为单节点(系统管理等)和多节点(集群管理)类型,点击屏幕中任意一道题目会显示题目小窗口。如图4-4所示。
图4-4 题目小窗口
5、开启实例。
以单节点和多节点介绍,点击开启容器,平台后端会提供一个或多个虚拟服务器,每个虚拟服务器的环境都是不一样的,需由用户按照题型要求完成对应的操作。以下为打开实例的正常界面,将会有虚拟服务器地址、登陆虚拟服务器账号和密码,单节点如图4-5.1所示,多节点如图4-5.2、图4-5.3所示
图4-5.1 单节点开启实例
图4-5.2 多节点开启实例
多节点需要点击题目小窗口两侧的小箭头来切换显示出每个节点的的虚拟服务器地址、虚拟服务器登陆账号与密码,以便进行操作。在题目小窗口左下角为此题目的答题时间倒计时,当倒计时为0时,虚拟服务器会自动关闭并摧毁。如果倒计时还没结束,已开启的实例永远不会销毁,用户可放心关闭窗口,或更换物理机、物理位置进行答题。
6、在题目的小窗口正下方有一个题目要求,用户可点击切换到题目要求查看题目要求,也可再次点击切换会节点虚拟服务器界面。如图4-6所示。
图4-6 题目要求
7、登陆虚拟服务器,完成题目要求,对虚拟服务器进行操作。
用户需在浏览器打开一个新的窗口,复制节点的ip地址到URL地址栏上,敲回车之后,界面会出现一个环境部署与登陆界面,用户需等待环境部署成功后把虚拟服务器的用户名与登陆密码复制粘贴到终端上敲下回车即可登录操作虚拟服务器如图4-7。1所示,登录成功会出现服务器终端与欢迎界面,其中欢迎界面包括题目名称与题目要求,用户可以输入命令/指令对虚拟服务器进行相关配置操作,如图4-7.2所示。
图4-7.1 登录虚拟服务器
图4-7.2 操作虚拟服务器
8、用户在相关操作后认为已完成题目要求,可点击“校验提交”进行验证,自己的操作是否正确。验证正确界面如图4-8.1所示,验证失败界面如图4-8.2所示。
图4-8.1 验证成功
(右下角会显示“正在验证中...”,“验证成功”等消息弹窗)
图4-8.2 验证失败
(右下角会显示“正在验证中...”,“验证失败”等消息弹窗)
9、当用户不想做该题目是,可直接点击销毁实例完成下一道题目,如图4-9所示。
图4-9 销毁实例
(右下角会显示“成功销毁容器”等消息弹窗)
10、查看“我的”。
用户在提交验证成功后,平台会根据完成时长、题目限定时长、题目总分,来进行计算给出对应的积分,用户可点击左侧导航栏中的“我的”来查看自己的历史完成情况,总积分,第一次完成某道题目的时间,最近一次完成题目的时间等,如图4-10所示。
图4-10 我的答题信息
11、用户获得的总积分在前一百强在可在排行榜展示,其中前三被单独展示。如图4-11.1所示,用户可点击排行上总积分高的其他用户,查看其他用户的基础信息,如4-11.2所示。
图4-11.1 排行榜展示
图4-11.2 其他用户基础信息展示
12、用户可将鼠标移至左下角的圆形头像上,查看/修改自己的基础信息,如图4-12.1、图4-12.2所示。
图4-12.1 找到基础信息入口
图4-12.2 查看或修改基础信息
13、使用该平台必须注意的点:
打开实例”、“验证提交”、“销毁实例”等按钮,为了避免用户恶意浪费服务端资源,每个按钮在点击之后的五秒内都会显灰白色,点击无效,五秒过后恢复正常。
五、管理员用户使用说明
1、由于管理员服务,掌握系统调用指令,管理员用户一般只存在平台服务后端,即属于平台内部人员所有。
2、管理员用户需在登录界面,登录指定的管理员root账号进入root管理登录界面以保证管理员的安全登录。如图5-2.1、图5-2.2所示。
图5-2 登录root管理员用户
图5-2.2 进入root登录页面
管理员可在管理题目界面对题目的添加、删除、修改等操作,如图4-2.3所示。
图5-2.3 管理员权限功能
3、添加题目与修改题目
添加题目与修改题目都在同一界面完成,管理员用户可操作选项:题目名称、题目类型、题目限定时长、题目所需节点、题目要求、每个节点的初始环境选择、每个节点的初始环境配置、每个节点的最终答案验证指令,如图5-3.1,图5-3.2所示
图5-3.1 题目添加与修改
图5-3.2题目添加与修改
4、管理用户可点击“查看信息”,查看题目构成的样子信息,如图5-4所示。
图5-4 查看题目信息
5、管理员最终规划好题目,点击“保存信息”可完成添加或修改题目信息的操作。
6、管理员添加题目须知:
(1) 在创建多节点题目时,每个节点的初始化环境必须配置完整
(2) 在填写节点修改环境时,须以 docker -i '{$dockerid}' /bin/bash -c' ' 开头,其中的dockerid为在后端代码中会自动替换成用户创建使用的容器环境的唯一标识。
(3) 在填写验证环境时,须以 docker -i '{$dockerid}' /bin/bash -c' ' 开头,其中的dockerid为在后端代码中会自动替换成用户创建使用的容器环境的唯一标识,进行指定文件的校验。
六、平台的测试及总结
服务端:在多个服务器环境部署测试,经过对平台的测试现象判断,在达到软硬件环境下的条件,平台可正常的运行,数据输入输出没有误差,
客户端:在不同类型的浏览器上运行,数据上没有误差,如若客户端的网络不佳,需重新刷新加载页面,即可获得准确的数据。
该章节只描述项目功能,如有需要请创建该站点联系我,由于要开发 2.0版本 在性能与UI上完全超越了 1.0本版本 ,决定将该项目共享给每一位正在努力的你们,该项目可免费为其部署