Ubuntu16.04搭建QingdaoU(docker一键式部署)
QDUOJ已经开源到2.0版本了,下面的教程不再适用,仅做纪念吧!
这几天装什么Linux、开源OJ上瘾了。。。竟然没去刷题。。。嗯,做好记录就写题啦!
先上原始网站的图:


风格不错,很符合我的口味。
虽然它的github(https://github.com/QingdaoU/OnlineJudgeDeploy)说的不错,但是我觉得自己的步骤才是最好的。。
一、安装基础环境
1.安装工具(一条命令要装几个软件,大家记得每一个安装不报错才开始下一步)
sudo apt-get update
sudo apt-get install -y vim python-pip curl git
2.安装 docker(这个过程还是蛮久的,大家要耐心等待)
curl -sSL https://get.daocloud.io/docker | sh
3.安装 docker-compose
LC_CTYPE= pip install docker-compose
以上的安装如果有的命令不起作用,可以自己找新的安装方式。
二、安装文件
git clone https://github.com/QingdaoU/OnlineJudgeDeploy.git
cd OnlineJudgeDeploy
然后编辑 docker-compose.yml 文件,第28行为自定义的密码,比如rpc_token=123456。
三、启动服务
docker-compose up -d(如果不是root用户,请使用sudo -E docker-compose up -d,否则不会出传递当前的环境变量)
第二次启动也是使用该命令,但我觉得部署上服务器的话就一次启动长期使用了。
如果是本地启动OJ(用到localhost或者127.0.0.1),要先到文件 docker-compose.yml修改ports的端口名称。
四、网站管理
超级管理员用户名是root,默认密码是password@root,如果真正部署记得修改。
登录127.0.0.1/admin,添加一个判题服务器,地址为judger,端口为8080,密码是上面自定义的rpc_token。
修改custom_settings.py可以自定义站点信息。
由于该项目是封装在docker里的,所以有什么问题可以多看docker去解决。还有关于什么二次开发的,后面再写吧!
Ubuntu16.04搭建QingdaoU(docker一键式部署)的更多相关文章
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- Ubuntu16.04搭建OpenVPN
Ubuntu16.04搭建OpenVPN 2018年12月27日 15:50:59 VinQin 阅读数:21042 简介 如果在一个非信任网络下比如旅社或者咖啡店的WiFi网络下,想要通过你的智 ...
- Ubuntu16.04搭建LAMP开发环境
Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...
- Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...
- Rancher2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群
目录 1.Prometheus & Grafana 介绍 2.环境.软件准备 3.Rancher 2.x 应用商店 4.一键式部署 Prometheus 5.验证 Prometheus + G ...
- Harbor 企业级私有仓库 Ubuntu16.04 搭建及使用
一.Harbor简介 1.1.什么是Harbor 几个VMware中国的人搞了一个容器镜像仓库.Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 1.2.Harbor架 ...
- Ubuntu 16.04+.Net Core+Docker+Uginx安装部署
前言 最近公司的项目打算移植到.Net Core平台,所以调研了一下.Net Core在Linux下的安装部署.本篇文章会一步步的描述从安装到配置到部署的全部过程.在文章的结构和内容里,笔者借鉴了很多 ...
- Docker - 在Ubuntu16.04中安装Docker CE
Get Docker for Ubuntu Check system version root@Ubuntu16:~# uname -a Linux Ubuntu16 4.8.0-36-generic ...
- ubuntu16.04搭建ftp服务器
因为习惯了vs进行开发,所以对于Linux的代码编辑开发都在vs里面进行,通常我们都是ssh远程登录到Linux,使用ftp或者sftp共享Linux目录里面的文件方便对文件的共享,这里介绍一下在ub ...
随机推荐
- s-axis-config-tdata
- 一点点linux系统的学习心得
我相信你正在阅读本文的时候,可能是因为你渴望学习Linux技术.我想分享一下过去两年中我自己的一些学习经历,希望你能更顺利地成为Linuxer. 两年前在Linux系统的运行和维护方面找到了一份工作( ...
- Go语言之unsafe包介绍及使用
unsafe内容介绍 type ArbitraryType int type Pointer *ArbitraryType func Sizeof(x ArbitraryType) uintptr f ...
- BZOJ4383 Pustynia(线段树+拓扑排序)
线段树优化建图暴力拓扑排序即可.对于已确定的数,拓扑排序时dp,每个节点都尽量取最大值,如果仍与已确定值矛盾则无解.叶子连出的边表示大于号,其余边表示大于等于. #include<iostrea ...
- BZOJ4555 HEOI2016/TJOI2016求和(NTT+斯特林数)
S(i,j)=Σ(-1)j-k(1/j!)·C(j,k)·ki=Σ(-1)j-k·ki/k!/(j-k)!.原式=ΣΣ(-1)j-k·ki·2j·j!/k!/(j-k)! (i,j=0~n).可以发现 ...
- webapi Get Post
转载:http://www.cnblogs.com/Juvy/p/3903974.html 在WebAPI中,请求主体(HttpContent)只能被读取一次,不被缓存,只能向前读取的流. 举例子说明 ...
- day28 classmethod 装饰器
类方法装饰类方法 把一个方法变成类中的方法 之后调用此方法不需要对类实例化后在调用 直接通过类.方法即可调用 class Goods: __discount = 0.5 def __init__(se ...
- mysql中存储过程
存储过程procedure 存储过程,其本质还是函数——但其规定:不能有返回值: 定义形式: 说明: 1,in:用于设定该变量是用来“接收实参数据”的,即“传入”:默认不写,就是in 2,out:用于 ...
- 安装workflowmanager 1.0 server
1· 下载安装 Web Platform Installer v4 Command Line (WebPICMD.exe) Tool.(http://download.microsoft.com/do ...
- 【UVA10140】Prime Distance
题目大意:求出一个给定区间 [l, r] 内相邻素数之间的最大距离和最小距离. 题解:由于 l, r 的范围太大,没法直接用筛法得出区间的素数.考虑筛出区间的素数等价于筛掉区间内的所有和数, 根据算术 ...