主页
搜索
最近更新
数据统计
申请密钥
系统公告
1
/
1
请查看完所有公告
如何部署一个自己的HydroOJ
最后更新于 2025-03-20 22:46:42
作者
WaTleZero_pt
分类
科技·工程
复制 Markdown
查看原文
删除文章
更新内容
~~众所周知,HydroOJ上提供创建域的功能,~~如果你想用当然可以,但这不是我们今天的重点。今天我们谈谈如何在我们的个人电脑上搭建一个HydroOJ。(~~虽然没啥用只是单纯的觉得好玩~~) ## 0 准备工作 一台 Windows 系统的电脑即可,版本应该是 Windows 10 或更高。 ## 1 部署 WSL 以及 Ubuntu 系统 同时按下电脑上的 Windows 徽标 + R 键,在窗口中输出“control”并按下 Enter 进入控制面板,点击 程序——启用或关闭 Windows 功能,找到“适用于 Linux 的 Windows 子系统”和“虚拟机平台”并开启这两项功能即可。(为了完成配置,需要重启电脑,如果重启过程中出现“我们无法完成更新/功能 正在撤销更改”说明你的系统文件有问题,建议你重装系统或升级到 Windows 11) 在 Microsoft Store 里搜索“Ubuntu 22.04”找到选项“Ubuntu 22.04 LTS”点击并下载。下载完成后运行 Ubuntu 22.04 LTS。等待安装完成后设置一个用户名(只能由小写字母构成,不能有其他字符),然后设置密码并重复密码(输入过程中你是看不见有任何字符显示出来的)我们就完成了 Ubuntu 22.04 系统的初步设置。接下来在命令行中依次输入以下命令进入管理员模式(代码块 1): ``` su (password) ``` 这里的 (password) 指的是你刚刚设置的密码。如果输入密码后显示 Authentication failure,请再输入以下指令(代码块 2): ``` sudo passwd root (password) (password) (password) ``` 这里的 (password) 仍然指你刚刚设置的密码。设置完成后再重新输入代码块 1 的内容即可。 接下来运行以下指令安装 HydroOJ(代码块 3): ``` LANG=zh . <(curl https://hydro.ac/setup.sh) ``` 这可能需要运行 5 到 10 分钟的时间,期间不要关闭你的电脑。 安装完成后,你的 HydroOJ 服务器就安装成功了,但这还没完…… ## 2 部署 Docker 单击 [这个链接](https://docs.docker.com/desktop/install/windows-install/) 下载英文版 Docker Desktop,然后运行 Docker Desktop。启动 Docker 之后点击右上角的设置图标,然后点击“Resources——WSL Integration——Ubuntu-22.04——Apply & restart”即可。完成操作后,你可以点击窗口,因为 Docker 将会在后台运行,但请不要刻意关闭这个进程! ## 3 查询 IP 再次运行 Ubuntu 22.04 LTS,输入指令 ```ip addr show``` (代码块 4),在显示出的多行信息中你可以找到类似于“inet XXX.XXX.XXX.XXX/XX brd XXX.XXX.XXX.XXX ...”的一行,第一个网址(后面的“/XX”不算)就是你的服务器的内网网址。你可以通过“XXX.XXX.XXX.XXX:8888”(端口8888)访问你的 HydroOJ 了! ## 4 HydroOJ 基本操作 首先,你需要在 HydroOJ 中注册一个你自己的账号。然后你可以在 Ubuntu 22.04 服务端(也就是你打开的 Ubuntu 22.04 LTS)中输入以下指令(代码块 5): ``` hydrooj cli user setSuperAdmin 2 ``` 这样你的账号就被设置为超级管理员了!现在你可以自由探索设置你的 HydroOJ 了! ## 5 关于 HydroOJ Q&A #### Q1: 我的电脑无法自动开启服务,我该如何手动开启 HydroOJ 的服务器呢? A1:在你的服务端输入指令 ```pm2 resurrect``` (代码块 5) 启动 HydroOJ 服务。在运行此命令前,请先按照(代码块 1)的方式先进入管理员模式。 #### Q2:我该如何把自己的服务器映射到公网上呢? A2:现在由于 IPV4 端口数量紧缺,直接使用公网 IP 是无法正常使用的。但你可以使用 [cpolar 工具](https://www.cpolar.com/) 进行临时的内网穿透,使用教程见网站。如果你确实需要一个公网,请联系中国移动等各大服务商申请一个公网 IP(但这通常是不太可行的,你需要去营业厅办理服务,这似乎不太现实) #### 还有更多内容等待更新……
正在渲染内容...
点赞
1
收藏
1