超级详细的青岛大学开源OJ搭建过程

写该文章的原因

之前我已经搭建好了一个,但是想要进行一些改动,原来搭建好的里面已经放了很多题了在用了,怕乱改改崩溃了,所以打算再搭建一个拿来改着玩,积攒积攒经验。

服务器

这里我选用的是阿里云的轻量应用服务器,操作系统是centos-release-7-6.1810。

检查必要的依赖

打开终端,依次输入以下指令

sudo yum update
sudo yum -y install epel-release
sudo yum -y install python-pip
sudo yum clean all
sudo yum -y install python-pip
pip install docker-compose

然后会出现下图中的报错,说你的pip版本太低。
在这里插入图片描述

这时候需要进行pip升级。
不过在此之前,我们需要先升级一下我们的python版本,我们的python版本也不是很高。
在这里插入图片描述

centos7升级python版本到3.6

  1. 从官网上获取到python3.6的包
    小声说:下载的很慢hh
cd /usr/local/src
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
  1. 进行解压缩
tar -xzf Python-3.6.3.tgz
  1. 在/usr/local路径下创建目录——python3
mkdir /usr/local/python3
  1. 编译安装
cd /usr/local/src/Python-3.6.3
./configure --prefix=/usr/local/python3
make all
make install
  1. 进入安装的绝对路径,检查是否安装成功
/usr/local/python3/bin/python3.6 -V 

在这里插入图片描述

  1. 查看环境变量,启动python时默认按照PATH的顺序去查找
 echo $PATH

在这里插入图片描述

  1. 修改软连接,启动python时指向python3.6

7.1 备份之前的python

mv /usr/bin/python /usr/bin/python2.7.5

7.2 修改软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python

7.3 查看python版本

python -V

在这里插入图片描述

升级pip

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

在这里插入图片描述再次查看pip版本,如下图:

在这里插入图片描述
这是因为pip启动来源还是之前版本python下的路径,这个时候我们需要去改一下它的启动来源。

vim /usr/bin/pip

我们需要将下图中四个位置进行修改:
在这里插入图片描述
修改之后:

再次执行pip install docker-compose就很顺利,没有报错。
紧接着执行sudo yum -y install vim,出现下图中错误:
在这里插入图片描述
打开我们的yum

vim yum

在这里插入图片描述
看到最上面一行,发现它引的是我们刚更新后的python,这时候我们应该手动去调整一下,让它指向之前版本的python文件夹。

在这里插入图片描述
再次执行sudo yum -y install vim发现又产生新的一个错误:
在这里插入图片描述
不用着急,让我们打开这个报错的文件看看

vim /usr/libexec/urlgrabber-ext-down

发现它同之前的yum文件一样,指向的都是新版本的python:
在这里插入图片描述
我们再次进行修改,使它指向旧版本的python文件夹即可:

在这里插入图片描述
再次执行sudo yum -y install vim
好的,很顺利,没有报错,甚至还告诉了你complete!
在这里插入图片描述
然后再执行下面两条语句,我们的检查必要依赖操作就结束啦

sudo yum -y install curl
sudo yum install -y git

安装Docker容器

1. 升级yum包

为了排除系统环境的影响

yum update

2. 安装需要的软件包

yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

3. 设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4. 安装Docker

先查看所有的Docker版本

yum list docker-ce --showduplicates | sort -r

发现有很多,看得头皮发麻
在这里插入图片描述
我选择的是17.12.1.ce:

yum install docker-ce-17.12.1.ce

然后一路y到底就complete!

启动Docker

systemctl start docker

为了避免每一次重启服务器都要启动Docker,我们加入一下开机自启

systemctl enable docker

查看Docker版本

验证一下是不是真的成功咯

docker version

在这里插入图片描述
到这docker容器就安装成功了,然后让我们进入到下一步!

克隆并启动项目

1. 选择一个安装路径

我选择在/usr/local下建一个名为qingdao的文件夹存放

cd /usr/local
mkdir qingdao

2. 克隆项目

cd qingdao
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy

clone的时候可能会因为网络不好失败,多试几次就可以了。

3. 启动项目

执行下面指令:

docker-compose up -d

报错:
在这里插入图片描述
说找不到我们的docker-compose,那我们就手动安装一下吧!

手动安装docker-compose命令

1.下载最新版的 docker-compose 二进制执行文件
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

在这里插入图片描述
可能会下载失败,多试几次即可。

2. 配置可执行权限
chmod +x /usr/local/bin/docker-compose
3. 测试安装是否成功
docker-compose --version

在这里插入图片描述
至此,我们的docker-compose命令就安装好了,那我们就继续使用docker-compose up -d启动我们的项目。
在一大堆complete之后,执行docker ps -a,我们的OJ就跑起来啦。

访问

通过浏览器访问服务器的 HTTP 80 端口或者 HTTPS 443 端口,就可以开始使用了。后台管理路径为/admin, 安装过程中自动添加的超级管理员用户名为 root,密码为 rootroot, 请务必及时修改密码。
在这里插入图片描述

问题汇总

Centos7在编译安装高版本python报错zlib not available
Centos get-pip.py运行报错:the ssl module in Python is not available

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小陌白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值