一个基于Vue.js和Django的轻量级在线评测系统
目前应用于广东外语外贸大学
Demo地址:oj.lpoj.cn
说明文档:docs.lpoj.cn
- 轻量级,易于部署和自定义定制
- 前后端分离,提高服务器性能
- 支持多机器多进程判题,判题更高效
- 支持 C/C++/Java/Python2/Python3和Swift5.1语言
- 支持 Special Judge和选择题判题
- 丰富的API,开放的源代码
- 实时爬取用户的博客和其他OJ的做题数
- 丰富的算法知识和体系化的套题训练
- 一键保存和导出代码模板
- 包含类CF的积分体系和比赛机制
- 班级管理与布置作业功能
- 现代化的界面 + 手机适配
- 支持类似LeetCode的模板题判题功能
- 安装必要的依赖
sudo apt-get update
sudo apt-get install -y git
sudo apt install docker.io -y
sudo apt install docker-compose -y
sudo apt-get install openssh-server -y
sftp yourusername@localhost # 验证是否安装成功!
- 开始安装
git clone https://github.com/Linzecong/LPOJ.git && cd LPOJ
# 如有需要,修改docker-compose.yml中的数据库密码(所有的 DB_PASSWORD,MYSQL_ROOT_PASSWORD 字段)
# 必须修改docker-compose.yml中的BACKEND_PATH,SFTP_USER,SFTP_PASSWORD为你的LPOJ/Backend文件夹的绝对路径和服务器的用户名密码
# 必须修改docker-compose.yml中的SFTP_IP为你的服务器的IP
sudo docker-compose up -d --scale judger=3
# 以上命令默认开启3个判题机,可以自行修改数量
根据网速和配置情况,大约10到20分钟就可以自动搭建完成,全程无需人工干预。
等命令执行完成,然后运行 sudo docker ps -a 当看到所有的容器的状态均为 Up 就代表 OJ 已经启动成功。
安装成功后,先通过IP:8080访问OJ,注册一个用户
然后进入 IP:8000/admin 以用户名admin 密码admin 登录后台(请及时修改后台密码)
修改User表中,你注册的超级用户的type为3,使得你注册的用户变为超级管理员
以管理员登录,右上角进入管理员页面,然后在网站设置标签,提交一次设置
- 更新OJ
如要更新OJ只需在LPOJ目录下执行如下步骤
git pull
sudo docker-compose stop
sudo docker-compose pull
sudo docker-compose up -d --scale judger=3
# 以上命令默认开启3个判题机,可以自行修改数量
容易运行时产生的数据会保存在对应的文件夹中,如数据库文件,题目数据等
首先先下载源代码
git clone https://github.com/Linzecong/LPOJ.git && cd LPOJ
然后随意修改你要修改的地方,修改完毕后,使用如下命令重新部署
sudo docker-compose -f docker-compose-build.yml up -d --build --scale judger=3
由于会重新构建整个系统,而不是拉去已构建好的镜像,所以花的时间会比较长~请耐心等待
网站的静态文件可以放在 ./Frontend/dist/img中,比如存放题目所用的图片
具体使用,请参阅使用文档
或者你可以直接访问我们 oj.lpoj.cn
Modern browsers(chrome, firefox)
- 广东外语外贸大学ACM集训队所有成员
- 广东外语外贸大学集训队所有老师
- 青岛大学在线评测系统
- 24OI/OI-wiki
The MIT License