所需:就用了臺普通電腦做爲web以及數據庫端,兩臺數據庫實驗室提供的服務器拿來作評測機。php
根據提示將三臺都裝上hustoj html
固然我是用以前比賽遺留下來的judgelinux
{nginx
能夠用如下來代替git
1 wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/install-ubuntu16+.shgithub
2 sudo bash install-ubuntu16+.sh web
}sql
而後我用的是以下數據庫
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,看是否出現主頁的畫面。ubuntu
沒有的話檢查一下是不是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