如何自己搭建一个OJ(在线判题系统)?
文章目录
- 1. centOS7/LINUX 云服务器
- 2. 如何开一个桌面?
- 5. 如何安装Docker?
- 6. 安装QingdaoU/OnlineJudgeDeploy
- 6.1.安装必要的依赖
- 6.1.1. sudo apt-get update && sudo apt-get install -y vim python-pip curl git
- 6.1.2. pip install docker-compose
- 6.1.3.问题!
- ##6.1.3.2.我直接讲"apt-get"替换为了"yum"完成了运行
- 6.2.开始安装
- 6.3.尽情享用吧
- 6.3.1.通过浏览器访问服务器的 HTTP 80 端口或者 HTTPS 443 端口,就可以开始使用了。后台管理路径为/admin, 安装过程中自动添加的超级管理员用户名为 root,密码为 rootroot, 请务必及时修改密码。
- 6.3.2.不要忘记阅读文档 http://docs.onlinejudge.me/
- 7. 如何开linux的端口?
- 7.1.1.关闭与开启防火墙
- 7.1.2.查看防火墙是否开启的状态,以及开放端口的情况
- 7.1.3. 通过以下命令开放http 80 端口
- 7.1.4 .然后重启防火墙:
- 7.1.5. 再次查看端口的开放情况:
- 7.2 服务商添加安全组
- 8.结束
- 参考网站
- 1.https://www.bilibili.com/video/av21303002/?p=11[尚硅谷_韩顺平_Linux教程(千万级学习人次的经典教程,2018重磅升级)]
- 2.[尚硅谷_Docker核心技术(基础篇)](https://www.bilibili.com/video/av27122140/?p=9 "尚硅谷_Docker核心技术(基础篇)")
- 3.[Docker官网](https://docs.docker.com/install/linux/docker-ce/centos/ "Docker官网")
- 4.[[CSDN]阿里云centos7.x 打开80端口](https://blog.csdn.net/tengqingyong/article/details/82805053 "[CSDN]阿里云centos7.x 打开80端口")
- 5.[腾讯云学生服务器](https://cloud.tencent.com/act/campus?from=10082 "腾讯云学生服务器")
- 6.[【GITHUB】青岛大学开源OJ](https://github.com/QingdaoU/OnlineJudgeDeploy "【GITHUB】青岛大学开源OJ")
1. centOS7/LINUX 云服务器
我自己拿的是腾讯云的
2. 如何开一个桌面?
我准备的GNOME桌面
2.1. yum groupinstall “X Window System” #X 窗口系统
####2.2. yum groupinstall “GNOME Desktop” #GNOME系统桌面
####2.3. startx #切换到图形化界面
3. 如何安装python?
####3.1.下载,解压,编译,安装:wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar -xvf Python-3.6.0.tgz
./configure --prefix=/usr/local/python3
make &&make install
####3.2.链接ln -s /usr/local/python3/bin/python3 /usr/bin/python3
###3.3.配置pip3
PATH=HOME/bin:/usr/local/python3/
###4. 如何手动安装pip3?
####4.1.执行wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-9.0.1.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python3 setup.py build
python3 setup.py install
4.2.为什么需要pip3?
4.2.1 在命令“pip install docker-compose”中需要pip3.0及其以上
5. 如何安装Docker?
这里我安装的是Docker社区版
5.2.仓库
#####5.2.1 安装所需的软件包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
####5.2.2 使用以下命令来设置稳定的存储库。$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
5.3 安装Docker Engine-Community和containerd
####5.3.1 安装最新版本的Docker Engine-Community和containerd,或者转到下一步安装特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
5.4 启动Docker。
$ sudo systemctl start docker
5.5 通过运行hello-world 映像来验证是否正确安装了Docker Engine-Community 。
$ sudo docker run hello-world
5.6 参考网站
https://docs.docker.com/install/linux/docker-ce/centos/
6. 安装QingdaoU/OnlineJudgeDeploy
6.1.安装必要的依赖
6.1.1. sudo apt-get update && sudo apt-get install -y vim python-pip curl git
6.1.2. pip install docker-compose
6.1.3.问题!
6.1.3.1.这里是通过apt-get安装 而非 yum
##6.1.3.2.我直接讲"apt-get"替换为了"yum"完成了运行
6.1.3.3.我搜索的所有页面对于CentOS安装apt-get都不可行,可能是版本问题
6.2.开始安装
6.2.1.请选择磁盘空间富余的位置,运行下面的命令
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
6.2.2.启动服务
docker-compose up -d
6.2.3.TIPS
根据网速情况,大约5到30分钟就可以自动搭建完成,全程无需人工干预。
等命令执行完成,然后运行 docker ps -a,当看到所有的容器的状态没有 unhealthy 或 Exited (x) xxx 就代表 OJ 已经启动成功。
6.3.尽情享用吧
6.3.1.通过浏览器访问服务器的 HTTP 80 端口或者 HTTPS 443 端口,就可以开始使用了。后台管理路径为/admin, 安装过程中自动添加的超级管理员用户名为 root,密码为 rootroot, 请务必及时修改密码。
6.3.2.不要忘记阅读文档 http://docs.onlinejudge.me/
7. 如何开linux的端口?
7.1.1.关闭与开启防火墙
启动:systemctl start firewalld
关闭: systemctl stop firewalld
7.1.2.查看防火墙是否开启的状态,以及开放端口的情况
systemctl status firewalld.service
firewall-cmd --list-all
7.1.3. 通过以下命令开放http 80 端口
firewall-cmd --add-port=80/tcp --permanent
命令末尾的--permanent表示用久有效,不加这句的话重启后刚才开放的端口就又失效了
7.1.4 .然后重启防火墙:
sudo firewall-cmd --reload
7.1.5. 再次查看端口的开放情况:
firewall-cmd --list-all
ports:里出现了 80 端口
7.2 服务商添加安全组
不赘述
7.3 TIPS
7.3.1.Linux 系统默认只开放了22端口
7.3.2.而http 需要80/8080端口
7.3.3.https 需要443端口
7.3.4.我似乎是在docker-compose up -d
命令时,发现Docker内的OJ需要8080端口
8.结束
参考网站
1.https://www.bilibili.com/video/av21303002/?p=11[尚硅谷_韩顺平_Linux教程(千万级学习人次的经典教程,2018重磅升级)]
2.尚硅谷_Docker核心技术(基础篇)
3.Docker官网
4.[CSDN]阿里云centos7.x 打开80端口
5.腾讯云学生服务器
6.【GITHUB】青岛大学开源OJ
##tips:
####A. linux 下 pip 安装教程
#####A.a 下载文件
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
#####A.b 执行安装
python get-pip.py
上一篇: PCL 区域生长分割
下一篇: Linux 查看命令对应的软件包
推荐阅读