方法1. 默认情况下 MySQL 是禁止远程访问的,修改配置文件将服务器 A 的 MySQL 设为可远程访问,并创建一个可供远程访问的用户,然后将服务器 B 上 MySQL 的配置信息 jnoj/judge/config.ini、jnoj/polygon/config.ini、jnoj/config/db.php 改成服务器 A 的,如访问地址、用户名密码,这样一来两台服务器都读取到同一个数据库的信息。
方法2. 也可以利用 MySQL 主从同步机制,来实现服务器 A,B 数据库之间的同步。具体教程网上很多,在此不展开,遇到问题再来提问。
假如有两台服务器(多台服务器也是一样),姑且称为 A,B。
都在这两台服务器上安装
jnoj
(如果只是需要多测评机,不一定都要完整地安装jnoj
,只要把测评机git clone 下来能运行就可以了),都安装了,还可以结合 nginx 搞个负载均衡什么的。这种情况下安装后显然它们的数据是不一样的。数据主要是
jnoj/judge/data
jnoj/polygon/data
1、2 的解决方法是一样的,你可以利用
rsync
来实现这两台服务器直接这两个目录的同步。(这个rsync
我还没用过,只是知道这么一个工具,具体使用网上教程很多)关于 3,有两种方法:
方法1. 默认情况下 MySQL 是禁止远程访问的,修改配置文件将服务器 A 的 MySQL 设为可远程访问,并创建一个可供远程访问的用户,然后将服务器 B 上 MySQL 的配置信息
jnoj/judge/config.ini
、jnoj/polygon/config.ini
、jnoj/config/db.php
改成服务器 A 的,如访问地址、用户名密码,这样一来两台服务器都读取到同一个数据库的信息。方法2. 也可以利用 MySQL 主从同步机制,来实现服务器 A,B 数据库之间的同步。具体教程网上很多,在此不展开,遇到问题再来提问。