zoukankan      html  css  js  c++  java
  • JXOJ(基于UOJ)部署日志

    JXOJ部署日志

    前些日子协助cycllf两位奆老部署了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。值得一提的是,运行的同时需要指出开放的端口,部署指北中的代码只开了两个,而为了方便管理数据,我们希望增加供KodexplorerPhpMyAdmin使用的端口。80端口用于访问网页端,3690是传题用的,剩下两个分别是KodexplorerPhpMyAdmin。完整命令是:

    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,可自行更改。安装过程也就结束了。

  • 相关阅读:
    window 操作
    idea使用
    安装zookeeper
    resource和autowired
    python浅见 (Python 3000)
    Tomcat服务器
    servlet
    事件是一种委托吗?什么是委托?什么是事件?
    int值类型的ToString()方法是否装箱
    抽象类,虚方法与普通类的区别
  • 原文地址:https://www.cnblogs.com/terrasse/p/10076857.html
Copyright © 2011-2022 走看看