在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:online-judge开源软件地址:https://gitee.com/jungle/online-judge开源软件介绍:最好的跨平台Online JudgeTable of contents安装或者开发指导:XXXX 演示地址:平台简介没错,我们支持Windows平台,也支持Linux平台(Linux下当前仅支持Virtual Judge)。 支持特性:
目录说明:
部署指导运行环境
JAVA_HOME=D:\Java\jdk1.6.0_10 path=%JAVA_HOME%\bin
set JAVA_HOME=D:\Java\jdk1.6.0_10 setx JAVA_HOME "D:\Java\jdk1.6.0_10" /m 部署网站
OJ_WEB=D\:\\tomcat6\\webapps\\ROOT\\ OJ_PATH=D\:\\OJ\\OJ_DATA_PATH=D\:\\OJ\\data\\OJ_JUDGE_LOG=D\:\\OJ\\OJ_JUDGE_LOG\\OJ_LANG_PATH=D\:\\OJ\\conf\\Language.xmlOJ_JUDGER_IP=127.0.0.1 ------> 这个很重要,用于WEB与OJ-Kernel通信的IPOJ_JUDGER_PORT=5000 ------> 这个很重要,用于WEB与OJ-Kernel通信的端口号,必须与OJ-Kernel的配置一致
<property name="username" value="root"></property><property name="password" value="rootpwd"></property>
<property name="connection.username">root</property> <property name="connection.url">jdbc:mysql://localhost:3306/gdoj</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="myeclipse.connection.profile">localhost</property> <property name="connection.password">rootpwd</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
部署判题核心
[System]sock_port=5000 -----> 系统本地Socket监听的端口号,需要保持与config.properties中的一致
启动后界面如下,并通过display current-configuration查看当前配置Command APP RegistInfo ok...Debug APP RegistInfo ok...AAA APP init ok...AAA APP RegistInfo ok...Telnet APP init ok...Telnet APP RegistInfo ok...Connect MySQL(localhost, root, xxxxxxx, gdoj, 3306) ok...Judge APP init ok...Judge APP RegistInfo ok...NDP APP init ok...NDP APP RegistInfo ok...FTPS APP init ok...FTPS APP RegistInfo ok...Sysmng APP running ok...Command APP running ok...Debug APP running ok...AAA APP running ok...Telnet APP running ok...Judge APP running ok...NDP APP running ok...FTPS APP running ok...Recover configuration begin.Eecover configuration end.Press any key to continue.Huawei_judger>display current-configuration include-default#version 1.1.173sysname Huawei_judger#telnet server enabletelnet authentication-mode aaa#ftp server enable#aaa local-user w00228491 password weizengke228491 local-user w00228491 service-type telnet ftp#judge enablevirtual-judge enable#contests-collect enablecontests-collect interval 30contests-collect save-file C:\tomcat6\webapps\ROOT\otheroj.json#judge-mgr mode acm undo auto-detect enable auto-detect interval 10 security enable ignore extra-space enable testcase-path data#virtual-judge-mgr hdu-judge enable hdu-judge username weizengke password weizengke undo hdu-judge remote-judge enable#return#Huawei_judger> 高级配置熟悉命令行用户通过命令行对系统下发各种命令来实现对系统的配置与日常维护操作。
#如输入dis us和完整输入display users都能执行命令获取当前登录系统的用户Judge-Kernel]dis us # Type Delay Network Address Socket Username --------------------------------------------------------------------- + 0 Console 00:00:00 127.0.0.1 - - 1 Telnet 00:25:42 127.0.0.1 588Judge-Kernel]display users # Type Delay Network Address Socket Username --------------------------------------------------------------------- + 0 Console 00:00:00 127.0.0.1 - - 1 Telnet 00:25:45 127.0.0.1 588Judge-Kernel]
Judge-Kernel>display us #该状态下按下TAB Judge-Kernel>display users
Judge-Kernel>? debugging Debugging switch display Display quit Quit from the current system view return Return to the user view system-view Enter the system view terminal Terminal undo Undo operationJudge-Kernel>dis? display DisplayJudge-Kernel>disJudge-Kernel>display ? command-tree Command tree current-configuration Current Configuration debugging Debugging switch history Histrory command judge Judge of OJ ndp NDP save-configuration Save-configuration users Users <cr>Judge-Kernel>display us? users UsersJudge-Kernel>display usJudge-Kernel>display users ? <cr>Judge-Kernel>
Judge-kernel> 在用户视图下,用户可以完成查看运行状态和统计信息等功能。
Judge-Kernel>system-view Judge-Kernel] Judge-Kernel]? aaa Authentication Authorization Accounting diagnose-view Enter the daignose view display Display hdu-judge HDU-Judge judge Judge of OJ mysql Mysql ndp NDP quit Quit from the current system view reboot Reboot Judge kernel return Return to the user view save Save configuration sysname Set system name telnet Telnet Protocol undo Undo operation virtual-judge Virtual judgeJudge-Kernel]
Judge-Kernel]diagnose-view Judge-Kernel-diagnose] Judge-Kernel-diagnose]? display Display quit Quit from the current system view return Return to the user view set Set value version Show version of solfware Judge-Kernel-diagnose]
#通过quit回退到上一层视图Judge-Kernel-diagnose]quitJudge-Kernel]#直接通过return惠推倒用户视图Judge-Kernel-diagnose]returnJudge-Kernel> Judger基础配置
#使能judge功能Judge-Kernel>system-view Judge-Kernel]judge enable #去使能judge功能Judge-Kernel>system-view Judge-Kernel]undo judge enable
#进入judge-mgr视图judger>system-viewjudger]judge-mgrjudger-judge-mgr]
#切换judger为acm模式judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]mode acm #切换judger为oi模式judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]mode oi
#使能安全防护(API HOOK)judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]security enable #去使能安全防护(API HOOK)judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]undo security enablejudger-judge-mgr]display this#judge-mgr undo security enable testcase-path D:\OJ\data\#return#judger-judge-mgr]
#使能自动检测judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]auto-detect enable
#配置judger的测试用例目录为D:\OJ\data\judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]testcase-path D:\OJ\data\judger-judge-mgr]display this#judge-mgr testcase-path D:\OJ\data\#return#judger-judge-mgr]
#配置judger使能忽略多余空格换行judger>system-viewjudger]judge-mgrjudger-judge-mgr]judger-judge-mgr]ignore extra-space enablejudger-judge-mgr]display this#judge-mgr ignore extra-space enable#return#judger-judge-mgr] Virtual Judge配置
#使能虚拟判题功能Judge-Kernel>system-view Judge-Kernel]virtual-judge enable #去使能虚拟判题功能Judge-Kernel>system-view Judge-Kernel]undo virtual-judge enable
#使能HDU虚拟判题功能Judge-Kernel>system-view Judge-Kernel]hdu-judge enable #去使能HDU虚拟判题功能Judge-Kernel>system-view Judge-Kernel]undo hdu-judge enable
#进入virtual-judge-mgr视图judger>system-viewjudger]virtual-judge-mgrjudger-vjudge-mgr]
#配置HDU虚拟判题在HDU平台上的账号和密码为root/root@123judger>system-viewjudger]virtual-judge-mgrjudger-vjudge-mgr]hdu-judge username root password root@123
#使能HDU虚拟判题远端裁判功能judger>system-viewjudger]virtual-judge-mgrjudger-vjudge-mgr]hdu-judge remote-judge enable #去使能HDU虚拟判题远端裁判功能judger>system-viewjudger]virtual-judge-mgrjudger-vjudge-mgr]undo hdu-judge remote-judge enable
#配置分布式远端hdu-judger的OJ服务器IP和端口号judger>system-viewjudger]virtual-judge-mgrjudger-vjudge-mgr]hdu-judge ip 192.168.1.2 port 5001 Telnet配置
#使能Telnet服务器Judge-Kernel>system-view Judge-Kernel]telnet server enable #去使能Telnet服务器Judge-Kernel>system-view Judge-Kernel]undo telnet server enable
#配置Telnet服务器的认证方式为不认证Judge-Kernel>system-view Judge-Kernel]telnet authentication-mode none #配置Telnet服务器的认证方式为密码认证,并创建telnet账号和密码Judge-Kernel>system-view Judge-Kernel]telnet authentication-mode passwordInfo: Please create telnet username and password.Judge-Kernel]Judge-Kernel]telnet username admin password admin@123 #配置Telnet服务器的认证方式为AAA认证,并创建一个aaa用户并且服务类型为telnetJudge-Kernel>system-view Judge-Kernel]telnet authentication-mode aaaInfo: Please create AAA username and password. Judge-Kernel]Judge-Kernel]aaaJudge-Kernel-aaa]local-user root password Root@123 service-type telnet FTP配置
#使能ftp服务器Judge-Kernel>system-view Judge-Kernel]ftp server enable #去使能ftp服务器Judge-Kernel>system-view Judge-Kernel]undo ftp server enable #创建一个aaa用户并且服务类型为ftpJudge-Kernel>system-view Judge-Kernel]telnet authentication-mode aaaInfo: Please create AAA username and password. Judge-Kernel]Judge-Kernel]aaaJudge-Kernel-aaa]local-user ftp password Root@123 service-type ftp 日常维护命令
#查看当前judger的基础配置Judge-Kernel>display judge brief# Local Judger Info Global Judge Is Enable Sysname : Judge-Kernel Sock Port : 5000 Judge Mode: ACM Data Path : D:\OJ\data\ Last Judge: 1970-01-01 08:00:00 ==========================================================================# Virtual Judger Info Global Virtual Judge Is Enable HDU domain: http://acm.hdu.edu.cn Judger | Account | Password | Status | Remote | Judger-IP | J-Port ------------------------------------------------------------------------- HDU weizengke weizengke Enable Disable 192.168.1.2 5001 ==========================================================================# MySQL Info URL : localhost Username : root Password : rootpwd Table-Name: gdoj Port : 3306 ==========================================================================Judge-Kernel>
#更改系统名称为judgerJudge-Kernel>system-view Judge-Kernel]sysname judger Info: system name change to judger successful. judger]
Judge-Kernel>system-view Judge-Kernel]save Info: Save configuration successfully. Judge-Kernel]
Judge-Kernel>display current-configurationjudger]display current-configuration#version V100R001C00B090sysname judger#telnet server enabletelnet authentication-mode aaa#aaa local-user admin password Root@123 service-type telnet#judge-mgr testcase-path D:\OJ\data\#virtual-judge-mgr hdu-judge username weizengke password weizengke hdu-judge ip 127.0.0.1 port 5000#return#judger]
Judge-Kernel>display save-configuration#version V100R001C00B090sysname judger#telnet server enable#aaa local-user admin password Root@123 service-type telnet#judge-mgr mode oi testcase-path D:\OJ\data\#virtual-judge-mgr hdu-judge username weizengke password weizengke hdu-judge ip 127.0.0.1 port 5000#return#judger]
Judge-Kernel]display users # Type Delay Network Address Socket Username --------------------------------------------------------------------- 0 Console 00:01:05 127.0.0.1 - - + 1 Telnet 00:00:00 127.0.0.1 588 Judge-Kernel] #带+号的为当前用户。
Judge-Kernel>display history 10display current-configurationjudge enablesystem-viewJudge-Kernel> Linux下部署:目前Linux下除了本地判题,Kernel其他特性都支持,文档暂没有时间写。主要就是在bin目录下直接./vos.o启动kernel。 特别鸣谢 |
请发表评论