HUSTOJ 支持一台数据库服务器,多台 web
服务器和多台判题服务器,以承担较高的访问负荷。
CREATE USER 'judge'@'%' identified by 'judge_pass';
GRANT ALL PRIVILEGES ON jol.* TO ‘judge’@’%’ WITHOUT GRANT OPTION;
flush privileges;
其中 jol
为数据库, judge
为帐号,judge_pass
为密码。
- 注意检查
/etc/mysql/mysql.conf.d/mysqld.cnf
确保在mysqld段落里存在设定bind-address = 0.0.0.0
。
高负载的情况下最好设置更多的连接数:max_connections = 512
。
修改 include/db_info.inc.php
:
static $DB_HOST="数据库服务器ip";
static $DB_NAME="jol";
static $DB_USER="judge";
static $DB_PASS="judge_pass";
OJ_HOST_NAME=数据库服务器ip
OJ_USER_NAME=judge
OJ_PASSWORD=judge_pass
OJ_DB_NAME=jol
OJ_TOTAL=判题机总数
OJ_MOD=本机编号,从0 开始
自R784 版本开始,不再需要分别配置
OJ_TOTAL
和OJ_MOD
,全部设为1
和0
即可,所有正常工作的judge
节点将自动分配当前任务。
从r1520 开始,使用
HTTP_JUDGE
方式不必单独复制数据,数据将从web
服务器按需下载。
先要准备好远程访问,在主服务器执行:
sudo apt-get install openssh-server
!> 下列两种方法只需选择一种即可。
从主机向判题机复制:
scp -r /home/judge/data root@判题机ip:/home/judge/
或用同步命令:
rsync -vzrtopg –delete /home/judge/data root@判题机ip:/home/judge/
判题机从主机复制:
scp -r root@主机ip:/home/judge/data /home/judge/
或用同步命令:
rsync -vzrtopg --progress --delete root@主机ip:/home/judge/data /home/judge/
sudo pkill judged && sudo judged