JXOJ(基于UOJ)部署日志
JXOJ部署日志
前些日子协助cyc、llf两位奆老部署了JXOJ,为方便日后维护我校OJ的同学,写篇日志做记录以日后查看。
一、准备:
在尝试了多个不同OJ之后,我们最终选择了Universal Online Judge 的这个社区版
我们使用的系统是此时较新的ubuntu-18.04-desktop-amd64
。
二、步骤:
安装过程基本上完全按照UOJ部署指北中的内容一步步进行,对于一个崭新的Ubuntu,更换aliyun软件源
,在终端中执行:
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
下来安装(然而没有必要这样做),例如:
git clone https://github.com/UniversalOJ/UOJ-System.git
更为便捷的方法是,直接下载docker提供的公共镜像,因为UOJ已经在docker的服务器上发布。
sudo docker pull universaloj/uoj-system:stable
然后就会开始下载。
下载下来是镜像,我们需要让docker创建一个新的虚拟机来运行UOJ。值得一提的是,运行的同时需要指出开放的端口,部署指北中的代码只开了两个,而为了方便管理数据,我们希望增加供Kodexplorer
和PhpMyAdmin
使用的端口。80端口用于访问网页端,3690是传题用的,剩下两个分别是Kodexplorer
和PhpMyAdmin
。完整命令是:
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
,可自行更改。安装过程也就结束了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)