UOJ超级详细部署文档
UOJ
部署
首先执行
sudo su
进入 root
然后执行
curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh
安装 docker
接着执行
sudo systemctl start docker
启动 docker 服务
然后执行
sudo docker --version
若 docker 正常,会输出形如如下的版本号
Docker version 20.10.21, build baeda1f
执行如下内容来安装 docker 加速器
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOFsudo systemctl daemon-reloadsudo systemctl restart docker
执行如下内容拉取镜像并启动 UOJ 服务
sudo docker pull universaloj/uoj-systemsudo docker run --name uoj -dit -p 80:80 --cap-add SYS_PTRACE universaloj/uoj-system
接下来,UOJ将在后台运行。 上面的代码是用于新建一个 UOJ 容器,重启服务器后不要使用
docker run
来启动容器。 如果您不希望用80端口来运行UOJ,您可以把上面的 -p 80:80 改成 -p 你要的端口:80 。
稍等大约半个小时(视网络情况而定),访问服务器的地址,您现在应该能看到UOJ正在运行了。
您注册的第一个用户将被自动设为管理员。
容器维护
docker容器很容易维护。您只需要掌握以下命令:
docker start uoj # 启动 uoj 容器docker stop uoj # 暂停 uoj 容器docker restart uoj # 重启 uoj 容器docker exec -it uoj /bin/bash # 进入 uoj 容器的终端docker commit uoj uoj_back:tag # 将 uoj 容器保存为标签为 tag 的 uoj_back 镜像docker ps -a # 查看所有的容器docker images # 查看所有的镜像docker rm uoj # 删除 uoj 容器(慎用)docker rmi uoj_back:tag # 删除标签为 tag 的 uoj_back 镜像
在docker中,每个容器需要基于一个镜像来运行。最开始,我们的 uoj 容器是基于安装过程中构建的镜像。
下面是一次典型的数据恢复:
docker commit uoj uoj_back:20170101 # 例行备份docker commit uoj uoj_back:20170201 # 例行备份docker commit uoj uoj_back:20170301 # 例行备份# 3月15日,黑恶势力破坏了 uoj,uoj 容器已经无用,必须恢复docker stop uoj
docker rm uoj # 删除uoj容器docker run --name uoj -dit -p 80:80 --cap-add SYS_PTRACE uoj_back:20170301# 创建新的 uoj 容器,使用3月1日的备份
数据迁移
下面的命令可以把 uoj_back 这个容器导出为 uoj.tar 这个文件:
docker save -o uoj.tar uoj_back
把 uoj.tar 复制到其他机器上,然后可以运行下面的命令导入 uoj_back 镜像:
docker load --input uoj.tar
下面是一次典型的数据迁移:
# 服务器 A:docker commit uoj uoj_back # 把uoj容器存储为镜像docker save -o uoj.tar uoj_back # 把uoj_back镜像导出# 然后通过某些恶毒的手段把 uoj.tar 拷到服务器 B
# 服务器 B:docker load --input uoj.tar # 导入uoj_back镜像docker run --name uoj -dit -p 80:80 --cap-add SYS_PTRACE uoj_back# 建立 uoj 容器,基于之前服务器 A 的数据,迁移完成
管理员账户
按照套路,UOJ 安装完成后,注册的第一个账户会被自动设为管理员账户。
当您以管理员账户登录 UOJ 后,您就可以依次点击页面右上角 您的用户名 、 系统管理 来进入管理界面。
管理员账户有发布公告、新建题目和比赛等权限。但是,管理员并不能参加比赛。
发布公告
UOJ 发布公告的套路比较神奇,请您仔细阅读这一段。
首先,请您将您的公告发布到您的博客当中,然后再这篇博客的地址中(形如 .../blog/478 )找到最 后的一串数字,记作博客 id。
之后,请您打开管理界面,使用博客 id 添加公告。 您可以置顶公告,需要注意的是,1 表示优先级最低(显示为“三级置顶”),3 表示优先级最高(显示为“一级置顶”)。
好了,差不多就到这里了,如果想要修改全局配置文件的私聊我
需要代部署服务(收小额费用)的也可以私聊我
全局配置文件中包含了网站的基础信息
UOJ超级详细部署文档相关推荐
- APP分发系统源码 全开源超级签名系统源码 附带详细部署文档
介绍: APP分发系统源码.全开源超级签名系统源码. 附带详细部署文档. 源码全开源的!!! 后台账号:admin 后台密码:123456 需要的资料:阿里云账户 服务器 linux(4核8G) 阿里 ...
- kubernetes-二进制安装,亲测无坑,在参考安装过程中如果有什么问题欢迎交流,超级详细的文档
Kubernetes环境搭建(手动K8s集群安装配置.服务部署和管理使用详细步骤,入门K8s容器云平台架构) 前言 说明: 本博客是教大家如何手动搭建kubernetes集群(业内简称K8s),包括集 ...
- Redmine详细部署文档
下载: wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz wget http://www.redmine.org/ ...
- 新鲜出炉的React博客系统源码,极简主义设计,手机端可自适应,超级简单,带部署文档与演示视频加截图
新鲜出炉的React博客系统源码,极简主义设计,手机端可自适应,超级简单,带部署文档与演示视频加截图. 使用技术: 客户端前端:Next.js + React 管理端前端:React + Ant De ...
- Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档
Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档 一.概述 二.连接器的工作原理 1.安全 2.快照 3.Ad hoc snapshots ...
- Docker部署文档
Docker部署文档 目录 Docker部署文档 1 一.什么是Docker 3 1.1Docker简介 3 1.2对比传统虚拟机总结 4 1.3Docker通常用于如下场景: 5 1.4基本概念 5 ...
- Blog_mini完整部署文档
为了使广大朋友能够使用上开源博客系统Blog_mini,作者撰写了非常详细的部署文档,涵盖在CentOS与Ubuntu上的详细部署方案,力求:只要看了部署文档,就一定可以把Blog_mini成功部署! ...
- django+nginx+uwsgi项目部署文档整理
django+nginx+uwsgi项目部署文档整理 参考文章:https://blog.csdn.net/qq_42314550/article/details/81805328 一.python安 ...
- linux上搭载was应用上传中文文件,受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明...
本文档的主要内容详细介绍的是受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明. 从was9.0开始支持的最低版本的red hat Linux系统为6.6且仅支持64位操作系统 计 ...
最新文章
- 基于阿里云RDS创建ECS自建从库
- HTTP----HTTP2.0新特性
- C++---堆代码实现
- 【UE4游戏开发】安装UE4时报SU-PQR1603错误的解决方法
- 大数据开发笔记(八):Sparkstreaming
- 【SPOJ - NSUBSTR】Substring(统计长度为x的子串最多出现的次数--后缀自动机)
- 安装Fortran语言编程环境全流程记录
- 机器学习读书笔记:贝叶斯公式
- linux fdisk等命令,linux命令:fdisk(示例代码)
- 更新xcode 12.51时提示空间不足,以及macos的空间清理
- mongodb查询后排序
- 从实验室跃进产业,腾讯AI是如何向to B进化的?
- 驱动开发人员不足?经验不够?一招教你立即摆平!
- epf配色方案如何导入到Eclipse
- jfinal java搭建_Jfinal 项目搭建
- octave画心形曲线
- shELL中的字符串处理(转)
- windows 创建虚拟wifi
- 【数字IC验证进阶】VCS编译SV/UVM常见错误总结
- Java 并发小册 2022 索引版正式来袭,持续更新