0
点赞
收藏
分享

微信扫一扫

LDUOJ(winterant/OnlineJudge)老用户从1.x版本升级到2.x版本


LDUOJ从1.x升级到2.x

升级说明

2.x最大的变化就是更换了判题服务。放弃了自带的判题内核(停止维护),采用开源go-judge作为新的判题服务。

主要影响

  • 支持更多编程语言及版本,对于C/C++可自定义是否开启O2优化。
  • 判题服务更稳定,不必再担心莫名其妙的运行崩溃、编译错误等。
  • 提交代码后可以看到所有测试点的评测情况。其中acm模式下,遇到测试点无法通过时立即停止评测。
  • 2.0版本暂不支持代码查重,预计2.1版本加入,以releases为准。

升级教程

此次升级的原理是将docker-compose.ymllduoj.conf替换为2.x版本。

0. 备份(强烈建议)

请参考备份。

1. 停止服务(务必)

cd OnlineJudge/   # 安装oj的位置
sudo docker compose down

2. 备份老版本配置文件(可跳过)

mkdir old
mv docker-compose.yml old/
mv lduoj.conf old/

3. 获取2.x版本的配置文件(docker-compose.yml,lduoj.conf)替换现有的

git clone -b deploy2 https://github.com/winterant/OnlineJudge.git
mv -f OnlineJudge/* ./    # 将下载好的配置文件移动到当前oj安装目录
rm -rf OnlineJudge/		  # 删除无用的文件夹

4. 启动服务

sudo docker compose up -d

现在,可以使用浏览器访问网站了(docker-compose.yml中默认的端口号是8080,如有需要请自行更改)。

5. 修改配置lduoj.conf(自行决定,按需修改)

根据个人需要,自行修改配置项。例如你以前配置过系统邮箱,则需要重新填一下邮箱信息。

实际上,2.x相对于1.x只是增加了以下配置:

# Database for laravel. 不要改
DB_CONNECTION=mysql
DB_HOST=${MYSQL_HOST}
DB_PORT=${MYSQL_PORT}
DB_DATABASE=${MYSQL_DATABASE}
DB_USERNAME=${MYSQL_USER}
DB_PASSWORD=${MYSQL_PASSWORD}

################## Judge Config ##################
# go-judge server. 不要改
JUDGE_SERVER=go-judge:5050

# Number of parallel judge processes.(不建议改太大)
# Default: (CPU数量 + 1)/2
JUDGE_MAX_RUNNING=


举报

相关推荐

0 条评论