JXOJ(基于UOJ)部署日志

JXOJ部署日志

前些日子协助cycllf两位奆老部署了JXOJ,为方便日后维护我校OJ的同学,写篇日志做记录以日后查看。

一、准备:

​ 在尝试了多个不同OJ之后,我们最终选择了Universal Online Judge 的这个社区版

​ 我们使用的系统是此时较新的ubuntu-18.04-desktop-amd64

二、步骤:

​ 安装过程基本上完全按照UOJ部署指北中的内容一步步进行,对于一个崭新的Ubuntu,更换aliyun软件源,在终端中执行:

Copy
sudo su apt update apt upgrade apt install vim apt install curl apt install git apt install docker.io

​ 其中docker:"它是一个容器技术,暂且可以理解成虚拟机。"(引自UOJ部署指北)UOJ就是运行在其虚拟出的一个Ubuntu系统环境下。

​ 接着便是在docker中安装UOJ。可以将社区版的源代码clone下来安装(然而没有必要这样做),例如:

Copy
git clone https://github.com/UniversalOJ/UOJ-System.git

​ 更为便捷的方法是,直接下载docker提供的公共镜像,因为UOJ已经在docker的服务器上发布。

Copy
sudo docker pull universaloj/uoj-system:stable

​ 然后就会开始下载。

​ 下载下来是镜像,我们需要让docker创建一个新的虚拟机来运行UOJ。值得一提的是,运行的同时需要指出开放的端口,部署指北中的代码只开了两个,而为了方便管理数据,我们希望增加供KodexplorerPhpMyAdmin使用的端口。80端口用于访问网页端,3690是传题用的,剩下两个分别是KodexplorerPhpMyAdmin。完整命令是:

Copy
sudo docker run --name uoj -dit -p 80:80 -p 3690:3690 -p 1926:1926 -p 2333:2333 --cap-add SYS_PTRACE uoj

​ 至此,UOJ已经默默地运行起来了。在局域网内任何一台计算机访问刚刚那台服务器的ip地址,就能访问UOJ网页端。管理员用户名为root,密码为uojuoj,可自行更改。安装过程也就结束了。

posted @   Terrasse  阅读(1038)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示