首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

hustoj快速配置教程(基于Docker一键配置)

  • 25-02-15 07:20
  • 3261
  • 10193
blog.csdn.net

文章目录

  • 前言
  • 详细步骤
    • 1.配置Docker(如已配置请忽略)
    • 2.Docker换源(如可以正常拉取镜像请忽略)
    • 3.配置hustoj
    • 4. 测试
  • 常见问题及对应解决方案
  • 补充
    • 1.Python判题为什么会失败?
    • 2.各种各样的定制化需求

前言


✨✨✨ 如果您对这篇文章感兴趣,可以点击【导航页 - 访客必读】一文囊括主页所有优质博客 查看更多优质内容,希望可以帮您解决更多问题~。 ✨✨✨


本文旨在简单配置hustoj,适合个人练习使用(非Python选手)。

Web端、数据库、判题机全部被打包在了同一个镜像,所以拓展性比较差,不建议用于大规模的生产环境,可能会有未知的魔法问题。

注意:若采用Docker安装,则Python判题会出错。 因为Python判题需要在judged内部调用docker,目前不支持docker in docker的方式运行。

对于不同的系统,本文使用到的对应命令可能不同,需要大家结合具体的系统来进行操作,博客有任何错误或者大家有任何问题,都可以直接在评论区留言~
本篇文章以Ubuntu22.04为例,采用Docker一键配置的方式,如果您需要其他系统或者其他配置方式的教程,可以私信留言,我将尽可能为您更新相应教程!

如果我的博客成功解决了您的问题,烦请一件三连 (*^▽^*),不胜感激!

详细步骤

1.配置Docker(如已配置请忽略)

Ubuntu系统请参考此教程。

CentOS系统请参考此教程。

其他系统请综合参考上述两个教程。

2.Docker换源(如可以正常拉取镜像请忽略)

目前由于政策的加强,大部分常见的镜像源已经无法使用。

如果没办法正常拉取镜像的话,请参考此教程进行换源。

3.配置hustoj

sudo docker run -d           \
    --name hustoj       \
    -p [容器对外开放端口]:80          \
    -v ~/volume:/volume \
    registry.gitlab.com/mgdream/hustoj
  • 1
  • 2
  • 3
  • 4
  • 5
  • 通过访问 http://127.0.0.1:[容器对外开放端口]/ 来访问hustoj前端,将[容器对外开放端口]设置为80 即可实现通过访问服务器ip直接访问到hustoj前端。
    即上述第3行修改为:-p 80:80 \

若容器尚未开启,可以采取下列命令开启容器:

sudo docker start hustoj
  • 1

4. 测试

  1. 更改语言

在这里插入图片描述

  1. 注册账号

与其他OJ不同,hustoj没有给出初始的管理员账号,需要我们自己注册。

在这里插入图片描述
默认第一个注册的用户获得管理员权限。

  1. 导入题目测试

在这里插入图片描述
进入管理后台,选择 问题-导入,导入好测试题目,

在这里插入图片描述

  1. 编译测试

根据常见问答里第1000题的的各种语言代码进行测试即可。

在这里插入图片描述
查看是否有编译错误,如下图:
在这里插入图片描述

再次强调一遍,若采用Docker安装,则Python判题会出错。

  1. 修改配置以查看判题详情(可选)

如果出现如下图,则需要修改配置以查看判题详情
在这里插入图片描述
修改db_info.inc.php文件,设置 $OJ_SHOW_DIFF=true

打开文件reinfo.php 在27行和60行有两处详细注释,根据注释进行调整。

  • 进入容器
sudo docker exec -it hustoj bash
  • 1
  • 修改db_info.inc.php文件

如果不清楚某个文件的路径,可以通过 find -name xxx来查找。

nano ./volume/web/include/db_info.inc.php
  • 1

如果没有nano编辑器,可以通过apt install安装。

设置 $OJ_SHOW_DIFF=true。

  • 修改reinfo.php文件
nano ./volume/web/reinfo.php
  • 1

根据自己的需求和第27行和60行的注意进行修改即可。

如果打开发现中文为乱码,可以参考此教程进行修改。

  • 退出容器
exit
  • 1
  • 重启容器
sudo docker restart hustoj
  • 1

常见问题及对应解决方案

目前还没遇到过问题…

欢迎大家将自己遇到的问题回复在评论区中,我会积极解答并将其补充到博客中,大家共同进步!

补充

1.Python判题为什么会失败?

详情可以看开发者的回答。

2.各种各样的定制化需求

可以参考官方常见问答。

注:本文转载自blog.csdn.net的hansel_sky的文章"https://blog.csdn.net/qq_73162098/article/details/145193821"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top