首先得准备一个Linux系统,这里以Ubuntu18.04为例。
QDUOJ的GitHub链接:https://github.com/QingdaoU/OnlineJudge
一、OJ的安装
准备必要的环境
更新一下源
sudo apt-get update
下载必备的软件
python如果有自己安装Android的话,可以不用下载 python3-pip
sudo apt-get install -y vim python3-pip curl git
更新pip
pip3 install --upgrade pip
# 如果使用Anaconda的话,用下面这个命令
pip install --upgrade pip
安装docker-compose (QDUOJ是部署在dockers环境的)
pip install docker-compose
下载docker
国内使用脚本一键安装:sudo curl -sSL https://get.daocloud.io/docker | sh
国外使用脚本一键安装:sudo curl -sSL get.docker.com | sh
开始安装
1、实行下面命令。需要有一定空间
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
- 启动服务
docker-compose up -d
启动过程看机子情况,5到30分钟左右 。
顺带说下,请确保80、3306、6379这几个端口不要被占用
当服务启动完成后,执行下面命令查看容器运行状态,如果没有unhealthy
或 Exited (x) xxx
就代表 OJ 已经启动成功。
docker ps -a
现在就可以开始使用了。HTTP80端口或则HTTPS443端口。
云服务器的用户记得放行对应端口
后台管理路径为/admin
,自动添加的超级管理员用户名为 root
,密码为 rootroot
, 请务必及时修改密码。
二、OJ的简单使用
2.1 导入题目
首先先登入管理用户。默认账号root
,密码rootroot
或者直接输入ip+/进入管理后台
ip/admin
进去后可以看到这么个界面
题目这里可以查看题目列表,或者添加题目。
这里填入题目名称和题面描述
输入描述,输出描述
在这里可以选择支持的编程语言,还有题目的难度标记,可以给题目添加标签,还有设置时间和内存限制等。
题目的输入输入输出样例
这里可以填写一些提示信息,也可以不填。
选择题目的类型,可以是ACM模式,或者OI模式。
点击Choose File删除题目样例,样例的明明要按照要求。
输入文件后缀为.in
,输出文件后缀为.out
。
文件名从1开始的连续序列,如果有多个样例的话。然后打包成zip文件。
如下
添加好后可以在题目列表查看题目了