VM或云服务器中Ubuntu-linux系统开源青岛OnlineJudge的搭建与OJ的部署

一.搭建oj

1.打开终端
2.输入sudo -i
3.直接输入密码回车就好了,因为在终端用户输入密码时是默认不显示的.
4.apt-get update && apt-get install -y vim python-pip curl git
5.curl -sSL https://get.daocloud.io/docker | sh
6.pip install docker-compose
7.git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
8.docker-compose up -d // 后台启动并运行容器
9.如果是虚拟机的话,在本地linux的浏览器中打开http://127.0.0.1:80即可访问了,但是外网还未打通,无法访问。如果是云服务器,就可以直接可以访问服务器公网ip即可外网访问了。
常见问题
问题一
问题二.如果是13的话,解决办法:

sudo -i
输入密码,再输入刚才的指令就好了

二.功能设置

1.管理员身份设置
安装过程中自动添加的超级管理员用户名为 root,密码为 rootroot, 请务必及时修改密码。普通用户注册之后,可以超级管理员给管理员身份。

2.在超级管理员的management中可以创建题目,创建比赛,自定义OJ名(management - General - System Config)

  • 创建题目
  1. 测试样例以in,out文件形式。
  2. 只能命名为1,2,3,分别表示三个测试数据。
  3. 最后全部选中in,out文件压缩,上传压缩文件(.zip)。
    (注:只能全部选中压缩,不能放入文件夹后再压缩或以其他形式压缩。)

三.外网访问

- 云服务器

直接在云服务器管理控制台找到公网ip直接访问即可。
如果不能访问得话,我们浏览器访问公网时,用的时http(80)端口,云服务器上还没加。解决方法

- 虚拟机

1.访问网址
2.下载linux64位压缩包于本电脑并解压
3.将解压文件拉入linux系统
4.注册网站账户,找到你的token
5.更改文件中的ngrok.conf中的token相应位置和将你的域名前缀换成一串自定义英文字母
6.右键选中文件夹,选择在终端打开文件夹,输入./ngrok -config=ngrok.conf -subdomain zrcoj(域名前缀) 80回车,即可在外网访问网站了,网址即为这个。两个都试试,应该都可以访问的。
(在每次重新打通外网时,第一步应该先看一下,80端口是否被占用,如被占用kill进程后再打通)

sudo -i
cd OnlineJudgedeploy
docker-compose up -d
如遇到下面问题根据解决办法解决后再
docker-compose up -d
再打通

在这里插入图片描述

当遇到这个问题时

在这里插入图片描述
告诉你端口被占用了解决方法
完了之后在跑docker-compose up -d即可,再用小米球打通外网即可外网访问了。

四.oj升级维护

在项目克隆目录下执行 -> onlinejudgedeploy/

git pull // 取回远程主机某个分支的更新代码
docker compose pull // 创建新增镜像 - 根据代码下载镜像
docker compose up -d // 启动应用所需所有容器

点我


domjudge搭建教程
(注:domjudge以ubuntu系统搭建的评测系统为区域赛OJ)
其他开源OJ

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值