华为云服务下安装青岛OJ
安装
个人使用的是华为云Ubuntu18.04 ,由于pip版本较老,需要先更新一下。
-
获得root权限
sudo passwd root #然后输入密码 su root
-
更新pip
pip install --upgrade pip
-
更换源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份源文件 sudo vim /etc/apt/sources.list #将里面的内容随便用下面一个代替 ##163的加速源 deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse #deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse #deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse #deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse #deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse #deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse #deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse ## 阿里云加速源 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse ## 腾讯加速源 deb http://mirrors.cloud.tencent.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.cloud.tencent.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.cloud.tencent.com/ubuntu/ xenial-updates main restricted universe multiverse #deb http://mirrors.cloud.tencent.com/ubuntu/ xenial-proposed main restricted universe multiverse #deb http://mirrors.cloud.tencent.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.cloud.tencent.com/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.cloud.tencent.com/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.cloud.tencent.com/ubuntu/ xenial-updates main restricted universe multiverse #deb-src http://mirrors.cloud.tencent.com/ubuntu/ xenial-proposed main restricted universe multiverse #deb-src http://mirrors.cloud.tencent.com/ubuntu/ xenial-backports main restricted universe multiverse
-
更新源
sudo apt-get update #更新源
-
更换pip源
pip国内的一些镜像
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
-
安装docker
apt install docker.io
-
安装依赖
sudo apt-get update && sudo apt-get install -y vim python-pip curl git pip install docker-compose
-
安装OJ
请选择磁盘空间富余的位置,运行下面的命令git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
-
启动运行
docker-compose up -d
-
查看是否成功
docker ps -a
当看到所有的容器的状态没有 unhealthy 或 Exited (x) xxx 就代表 OJ 已经启动成功。
根据网速情况,大约5到30分钟就可以自动搭建完成,全程无需人工干预。
使用
通过浏览器访问服务器的 HTTP 80 端口或者 HTTPS 443 端口,就可以开始使用了。后台管理路径为/admin, 安装过程中自动添加的超级管理员用户名为 root,密码为 rootroot,请务必及时修改密码。
不要忘记阅读文档 https://docs.onlinejudge.me/#/
题库
免费下载题的网址:http://loj.ac
可以购买题的网址:http://tk.hustoj.com/
管理
可以查看docker相关操作手册
docker ps #显示所有的容器
docker stop name
docker start name
docker ps # 查看所有正在运行容器
docker stop containerId # containerId 是容器的ID
docker ps -a # 查看所有容器
docker ps -a -q # 查看所有容器ID
docker stop $(docker ps -a -q) # stop停止所有容器
docker rm $(docker ps -a -q) # remove删除所有容器
sudo /etc/init.d/nginx stop #停止nginx
#强制停止
sudo ps -ef | grep nginx # 查询nginx PID 此处为28444
#sudo netstat -a | grep 28444
sudo kill -quit 28444 #关闭nginx
sudo /etc/init.d/nginx start #启动ngnix
参考链接
更换源:https://blog.csdn.net/nuoyanli/article/details/99689047?utm_source=app&tdsourcetag=s_pctim_aiomsg
安装OJ:https://github.com/QingdaoU/OnlineJudgeDeploy/tree/2.0
更换pip:https://blog.csdn.net/yuzaipiaofei/article/details/80891108