-
Notifications
You must be signed in to change notification settings - Fork 2
安装指南
massimodong edited this page Jul 10, 2018
·
3 revisions
这是WZOJ配套的判题机,需要一直在后台运行。
libcurl:
Debian: sudo apt-get install libcurl4-gnutls-dev
Ubuntu: sudo apt-get install libcurl4-gnutls-dev
Arch: sudo pacman -S libcurl-gnutls
Red Hat: sudo yum install curl-devel
chmod +x ./default-install.sh
./default-install.sh
创建判题机用户judger
,并复制需要的文件
mkdir -p /home/judger
mkdir -p /home/judger/etc
mkdir -p /home/judger/sim
cp ./doc/config.json.example /home/judger/etc/config.json
useradd -u 1537 -d /home/judger -s /bin/bash judger
chown -R judger.judger /home/judger
编译安装三部曲
./autogen.sh
make
make install
修改/home/judger/etc/config.json
文件
{
"url": "localhost/", //OJ地址
"token": "token", //判题机token,需要在OJ管理页面生成
"sleep_time": 10, //轮询间隔,每隔多久查询判题任务,设置成0为等待被动唤醒
"max_running": 1, //评测线程数,同时评测几份代码
"sim_check": false //是否执行代码相似度检测,请看WIKI
}
判题机从/home/judger/data
读取测试数据,请创建这个目录或创建软链到测试数据所在目录。
目录格式为data/题号/测试数据文件
,其中每个测试点两个同名(区分大小写)文件,输入数据后缀为.in
,标准答案后缀为.ans
或.out
示例:
├── /home/judger/data
│ ├── 2
│ │ ├── data1.in
│ │ ├── data1.out
| | ├── Data2.in
│ │ └── Data2.ans
判题机需要在后台保持运行,可以使用screen
之类的程序实现。
Screen User's Manual
在screen
中执行
sudo wzoj_judger
启动评测机
按下Ctrl+A+D
退出screen
如果OJ服务器能主动连接到评测机(在同一台电脑或同一个局域网等),则评测机不需要轮询评测任务,而是每一次有新的提交时被动地被OJ服务器唤醒。
设置方法:将评测机配置文件的sleep_time
设为0,并在OJ管理页面处填上评测机ip地址就好了。