LDUOJ(winterant/OnlineJudge)老用户从1.x版本升级到2.x版本
说明
2.x最大的变化就是更换了判题服务。放弃了自带的判题内核,停止维护,采用开源go-judge作为新的判题服务。
主要影响
升级方法
一、 备份
务必备份!务必备份!务必备份!升级前务必备份数据
请参考备份方式。
二、 升级
1. 停止服务(必须)
cd OnlineJudge/ # 你安装oj的位置
sudo docker compose down
2. 将文件夹OnlineJudge/
重命名为OJ1.x
这是为了防止后面的操作重名
cd ..
mv OnlineJudge OJ1.x
3. 执行2.x版本的安装
git clone -b deploy2 https://github.com/winterant/OnlineJudge.git
cd OnlineJudge
sudo docker compose up -d
使用浏览器访问一下网站,验证是否安装成功(docker-compose.yml
中默认的端口号是8080,请自行更改)。
4. 验证成功后,停止服务
sudo docker compose down
5. 修改配置lduoj.conf
根据需要,自行修改配置项(可对比OJ1.x/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=
6. 把老版本的数据复制过来
cp -rf ../OJ1.x/data ./
7. 启动服务
sudo docker compose up -d
你的oj已经成功从1.x升级到2.x!