所需:就用了台普通电脑作为web以及数据库端,两台数据库实验室提供的服务器拿来做评测机。
根据提示将三台都装上hustoj
当然我是用之前比赛遗留下来的judge
{
可以用以下来代替
1 wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/install-ubuntu16+.sh
2 sudo bash install-ubuntu16+.sh
}
然后我用的是如下
1 sudo cp -r judge/ /home/ 拷贝judge文件夹至home下 2 sudo cd /home/judge/src/install 切换路径 3 sudo bash install-ubuntu16+.sh 执行安装脚本 4 sudo cd /home/judge/src/core 切换路径 5 sudo bash make.sh 重新编译
然后试着在浏览器中输入127.0.0.1,看是否出现主页的画面。
没有的话检查一下是否是nginx 的问题,我当时没有出现画面,然后安装了php memchache扩展,重新启动了下php-fpm
1 sudo apt-get install php-memcache memcached
2 sudo service php7.0-fpm restart
然后在本地上就出现了主页的画面。
三台都是如此。(都是现场赛的模式:现场赛的模式只能进行登录,啥都没有不能注册admin,所以需要注册一下)
在作为主数据库的机子上,用 https://github.com/zhblue/hustoj/tree/master/trunk 中的web覆盖一下,然后注册完admin的账号后,再用原来的web覆盖掉 /home/judge/src/web
在各个判题机上, /home/judge/etc judge.conf 中
一般是只读类型,需要sudo 更改一下权限。
然后在数据库服务器上的Mysql添加访问权限。
不过,我是一个一个进行加的数据库的权限,比较保险:
grant all privileges on *.* to root@'(判题机ip)' identified by '(数据库密码)' with grant option;
flush privileges;
exit;
在数据传输的时候
在主服务器上 sudo apt-get install openssh-server
从主机向评测机复制data
scp -r /home/judge/data root@评测机IP:/home/judge
然后重启评测机
sudo pkill -9 judged
sudo judged
如果输入三次密码都不行的话,可能是因为judge里面权限不够,如果更改权限后,还不好使就在 /etc/ssh/sshd_config 中的 把 原来的PermitRootLogin用#注销
改为 PermitRootLogin yes