五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何搭建一個(gè)屬于自己的OJ系統(tǒng)

2023-07-15 18:46 作者:Windows_Linux_  | 我要投稿

在我的博客中閱讀更佳!在嗶哩嗶哩上代碼不會(huì)高亮!

https://blog.mxdyeah.top/?id=6

歡迎各位訪問我的OJ:mxd's Online Judge?(使用HUST OJ搭建)

正文:

Part 1 選擇一個(gè)適合自己的OJ

目前,在網(wǎng)絡(luò)上有很多的OJ系統(tǒng)可以讓我們一鍵部署,特別方便

比如以下OJ都支持一鍵部署:

HUST OJ?https://github.com/zhblue/hustoj/

Hydro?https://docs.hydro.ac/

QDUOJ?https://opensource.qduoj.com/#/

還有很多,我就不一一列出來了

Part 2.1 搭建OJ

  1. 搭建HUST OJ

  2. 搭建Hydro

  3. 搭建QDUOJ



Part 2.2 搭建HUST OJ

其實(shí)官網(wǎng)內(nèi)容已經(jīng)很詳細(xì)了? ?https://github.com/zhblue/hustoj/

我來說幾個(gè)必踩的坑:

1.更換主題模板

修改?db_info.inc.php[默認(rèn)位置/home/judge/src/web/include]?中?$OJ_TEMPLATE?的值 就行

默認(rèn)是 syzoj 改成如下的值就可以使用其他主題!

bs3原版

sweet主題

syzoj主題?added by@renbaoshuo

bshark主題?added by?@yemaster

mdui主題?added by@renbaoshuo


2.SSL配置

如果你像我一樣用的是寶塔面板,只需要按照其他網(wǎng)站一樣部署就行了。特別簡(jiǎn)單

????

如果你沒有使用寶塔面板的,使用的是apache或nginx就要申請(qǐng)證書并且到apache/nginx當(dāng)中正確配置。

3.背景圖片

hust oj 默認(rèn)是從Bing每日一圖同步,可以在配置文件db_info.inc.php[默認(rèn)位置/home/judge/src/web/include]?中?$OJ_BG 的值

比如我的就是這樣的:


其實(shí)db_info.inc.php這里面的注釋都寫的非常詳細(xì)的,各位可以自己研究一下

4.時(shí)間不同步(難點(diǎn))

這個(gè)可是重頭戲,困擾了我好久,就是代碼提交的時(shí)間跟當(dāng)前時(shí)間對(duì)不上,官方文檔里面也沒有但是最后還是被我解決了

具體狀態(tài)表現(xiàn)如下:電腦當(dāng)前時(shí)間14:36,在此時(shí)提交代碼 提交時(shí)間會(huì)晚8小時(shí)。 其實(shí)一眼就可以看出來是時(shí)區(qū)的問題

該怎么解決呢?(在ROOT身份下運(yùn)行)

timedatectl?set-timezone?Asia/Shanghai
timedatectl?set-local-rtc?1

搞定!然后reboot

sudo?reboot

重啟后還是不行?運(yùn)行一下timedatectl? ?

看看是不是像我這樣



再重啟試試!

Part 2.3 搭建 QDUOJ

前提:我是在Ubuntu 22.04?純凈系統(tǒng)?上完成的

我的系統(tǒng)上沒有部署過任何東西?。?/p>

CentOS我沒有測(cè)試過,你可以自己把a(bǔ)pt換成yum。

CentOS已經(jīng)很老了,建議換系統(tǒng)?。。。?/p>

安裝過docker的,請(qǐng)先完全卸載再操作??!以防萬一!??!

完全卸載docker:

https://blog.csdn.net/qq_45495857/article/details/113743109

更新一下軟件源

sudo?apt-get?update

什么?太慢?換個(gè)軟件源就是了!??https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

清華大學(xué)換源鏈接,自己更改發(fā)行版!

然后:

sudo?apt-get?install?-y?vim?python3-pip?curl?git

更新pip


pip3?install?--upgrade?pip
#?或者下面的?看情況
pip?install?--upgrade?pip

然后通過pip 安裝docker-compose

pip?install?docker-compose

下載docker

國(guó)內(nèi)使用腳本一鍵安裝:sudo curl -sSL https://get.daocloud.io/docker | sh

國(guó)外使用腳本一鍵安裝:sudo curl -sSL get.docker.com | sh

然后選擇一個(gè)合適的目錄? 執(zhí)行? 空間一定大于5GiB??!

git?clone?-b?2.0?https://github.com/QingdaoU/OnlineJudgeDeploy.git?&&?cd?OnlineJudgeDeploy

建議更改配置文件(如果沒有特殊要求別操作!?。?

vim?docker-compose.yml

最后,docker-compose一下!(時(shí)間超級(jí)久 10-30min左右)

docker-compose?up?-d

當(dāng)你看見幾個(gè)綠油油的DONE過后就大功告成了?。?/p>


順帶說下,請(qǐng)確保80、3306、6379這幾個(gè)端口不要被占用

當(dāng)服務(wù)啟動(dòng)完成后,執(zhí)行下面命令查看容器運(yùn)行狀態(tài),如果沒有unhealthy?或?Exited (x) xxx?就代表 OJ 已經(jīng)啟動(dòng)成功。

現(xiàn)在就可以開始使用了。HTTP80端口或者HTTPS443端口。

云服務(wù)器的用戶記得放行對(duì)應(yīng)端口

后臺(tái)管理路徑為/admin,自動(dòng)添加的超級(jí)管理員用戶名為?root,密碼為?rootroot,?請(qǐng)務(wù)必及時(shí)修改密碼。

//這幾句轉(zhuǎn)載自https://blog.csdn.net/qq_43058685/article/details/108871714?感謝!

自此,大功告成!各位可自行探索!

QDUOJ SSL 配置

HTTPS 相關(guān)問題

OnlineJudge 強(qiáng)烈推薦使用 HTTPS 協(xié)議

  • 數(shù)據(jù)傳輸加密,提高安全性,防劫持

  • 可以使用 HTTP2,加快訪問速度(默認(rèn)配置)

OnlineJudge 的部署腳本默認(rèn)情況下會(huì)生成一個(gè)自簽名證書,瀏覽器會(huì)提示不信任,可以自己去申請(qǐng)對(duì)應(yīng)域名的可信證書,OnlineJudge 也提供了下面兩個(gè)特性方便 HTTPS 證書的申請(qǐng)和使用。

申請(qǐng) HTTPS 證書

/.well-known?的 url 前綴,會(huì)自動(dòng)使用?data/backend/ssl/.well-known?目錄下面的文件,默認(rèn)情況下?data/backend/ssl/?已經(jīng)存在,所以可以手動(dòng)的創(chuàng)建?.well-known?及其子文件夾,比如需要 url 為?/.well-known/pki-validation/fileauth.txt?的驗(yàn)證文件,就可以創(chuàng)建?data/backend/ssl/.well-known/pki-validation/fileauth.txt?文件,內(nèi)容為指定的內(nèi)容。

然后替換?data/backend/ssl/?下面的證書和私鑰文件,之后?docker exec -it oj-backend sh -c "cd /app/deploy; supervisorctl restart nginx"。

FORCE_HTTPS

如果 HTTPS 配置成功,為了增強(qiáng)安全性,推薦重定向 HTTP 流量到 HTTPS 流量,這時(shí)候可以取消注釋?docker-compose.yml?文件中的?FORCE_HTTPS=1?這一行,然后?docker-compose up -d?重啟即可。



Part 2.4 搭建Hydro OJ

搭建Hydro OJ, 官網(wǎng)說的也比較詳細(xì)? ?https://docs.hydro.ac/docs/install/

我也是說說必踩的坑:

1.SSL

這個(gè)困擾了我好久,最后看來官方文檔加上我的多次嘗試才成功


hydro.ac?{
??log?{
????output?file?/data/access.log?{
??????roll_size?1gb
??????roll_keep_for?72h
????}
????format?json
??}
??root?*?/root/.hydro/static
??@static?{
????file?{
??????try_files?{path}
????}
??}
??handle?@static?{
????file_server
??}
??handle?{
????reverse_proxy?http://127.0.0.1:8888
??}
}

我在此不多贅述,有疑問請(qǐng)留言!


如何搭建一個(gè)屬于自己的OJ系統(tǒng)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
林芝县| 阿克陶县| 察哈| 丰镇市| 清水县| 唐河县| 郓城县| 镇远县| 昭觉县| 抚宁县| 镇赉县| 崇仁县| 宁晋县| 安徽省| 卢湾区| 繁昌县| 申扎县| 手机| 乌苏市| 太保市| 赣榆县| 牙克石市| 图木舒克市| 铜梁县| 宿迁市| 平定县| 平潭县| 天镇县| 巴彦淖尔市| 昌吉市| 桂东县| 慈溪市| 恩施市| 广汉市| 乌海市| 兰考县| 东山县| 华池县| 亳州市| 旬阳县| 潮州市|