zhblue / hustoj

Popular Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 开源OJ系统
http://www.hustoj.com/?cat=2
GNU General Public License v2.0
3.25k stars 766 forks source link

远程判题机web工作,判题端不工作 #607

Open qiyuan11111 opened 4 years ago

qiyuan11111 commented 4 years ago

弄了一个分布式判题,但是远程可以访问本地数据库,但是判题的话只有本地的判题端在工作,远程服务器的judge.conf里面的配置也弄好了,远程登录也可以连接本地mysql,请问这可能是啥原因啊

zhblue commented 4 years ago

远程服务器的judge.conf里面的配置也弄好了

请解释“弄好了”的含义

qiyuan11111 commented 4 years ago

远程服务器的judge.conf里面的配置也弄好了

请解释“弄好了”的含义

四个字段的配置OJ_HOST_NAME,OJ_USER_NAME,OJ_PASSWORD,OJ_DB_NAME,在那个db_info.inc.php里面也有和这四个字段一样的值啊

zhblue commented 4 years ago

db_info.inc.php 里的数据库服务器地址是127.0.0.1或者localhost 远程判题机的judge.conf里也是127.0.0.1或者localhost吗?

qiyuan11111 commented 4 years ago

db_info.inc.php 里的数据库服务器地址是127.0.0.1或者localhost 远程判题机的judge.conf里也是127.0.0.1或者localhost吗?

远程判题机judge.conf和db_info.inc.php都是本地数据库服务器的ip

zhblue commented 4 years ago

本地数据库服务器?? 一般我们用“本地”这个词指代127.0.0.1或者localhost ,你这里似乎不是?

zhblue commented 4 years ago

建议你把敏感信息隐去后,贴上完整的配置文件,并标注配置文件所在主机的信息。

qiyuan11111 commented 4 years ago

这是远程判题服务器的judge.conf的配置,主要问题是远程判题服务器没有进行判题工作

Database Config

OJ_HOST_NAME=121.36.110.209 //数据库服务器ip OJ_USER_NAME=judge1 //数据库服务器给远程连接的账号 OJ_PASSWORD=123456 //数据库服务器给远程连接的密码 OJ_DB_NAME=jol //数据库名 OJ_PORT_NUMBER=3306

CPU cores Config

OJ_RUNNING=1

Query Interval/UDP timeout

OJ_SLEEP_TIME=1

Multi-Judger Task Divider

OJ_TOTAL=1 OJ_MOD=0

Java and Other VM language bonus

OJ_JAVA_TIME_BONUS=2 OJ_JAVA_MEMORY_BONUS=64

JVM Compiler Settings

OJ_JAVA_XMS=-Xms64M OJ_JAVA_XMX=-Xmx128M

Similarity Tester from Dick Grune

OJ_SIM_ENABLE=0

Using HTTP for distributed judgers

OJ_HTTP_JUDGE=0 OJ_HTTP_BASEURL=http://127.0.0.1/JudgeOnline OJ_HTTP_USERNAME=admin1 OJ_HTTP_PASSWORD=admin

Using Redis for solutions queue

OJ_REDISENABLE=0 OJ_REDISSERVER=127.0.0.1 OJ_REDISPORT=6379 OJ_REDISAUTH=123456 OJ_REDISQNAME=hustoj

Judge all test data even solution fails

OJ_OI_MODE=1

Using /dev/shm as working directory

OJ_SHM_RUN=0

Using the longest case of test as final time

OJ_USE_MAX_TIME=0

Judge TLE by total time

OJ_TIME_LIMIT_TO_TOTAL=0

Judge only listed languages

OJ_LANG_SET=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19

Using Chroot to prevent compile time attack (#include</dev/random>)

OJ_COMPILE_CHROOT=0

Jump some middle status update for faster judge

OJ_TURBO_MODE=0

Bigger setting Slow down time on fast CPU, smaller setting Speed up time on slow CPU

OJ_CPU_COMPENSATION=1.0

Using UDP for submission notification

OJ_UDP_ENABLE=1 OJ_UDP_SERVER=127.0.0.1 OJ_UDP_PORT=1536

qiyuan11111 commented 4 years ago

这是远程判题服务器的judge.conf的配置,主要问题是远程判题服务器没有进行判题工作

Database Config

OJ_HOST_NAME=121.36.110.209 //数据库服务器ip OJ_USER_NAME=judge1 //数据库服务器给远程连接的账号 OJ_PASSWORD=123456 //数据库服务器给远程连接的密码 OJ_DB_NAME=jol //数据库名 OJ_PORT_NUMBER=3306

CPU cores Config

OJ_RUNNING=1

Query Interval/UDP timeout

OJ_SLEEP_TIME=1

Multi-Judger Task Divider

OJ_TOTAL=1 OJ_MOD=0

Java and Other VM language bonus

OJ_JAVA_TIME_BONUS=2 OJ_JAVA_MEMORY_BONUS=64

JVM Compiler Settings

OJ_JAVA_XMS=-Xms64M OJ_JAVA_XMX=-Xmx128M

Similarity Tester from Dick Grune

OJ_SIM_ENABLE=0

Using HTTP for distributed judgers

OJ_HTTP_JUDGE=0 OJ_HTTP_BASEURL=http://127.0.0.1/JudgeOnline OJ_HTTP_USERNAME=admin1 OJ_HTTP_PASSWORD=admin

Using Redis for solutions queue

OJ_REDISENABLE=0 OJ_REDISSERVER=127.0.0.1 OJ_REDISPORT=6379 OJ_REDISAUTH=123456 OJ_REDISQNAME=hustoj

Judge all test data even solution fails

OJ_OI_MODE=1

Using /dev/shm as working directory

OJ_SHM_RUN=0

Using the longest case of test as final time

OJ_USE_MAX_TIME=0

Judge TLE by total time

OJ_TIME_LIMIT_TO_TOTAL=0

Judge only listed languages

OJ_LANG_SET=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19

Using Chroot to prevent compile time attack (#include</dev/random>)

OJ_COMPILE_CHROOT=0

Jump some middle status update for faster judge

OJ_TURBO_MODE=0

Bigger setting Slow down time on fast CPU, smaller setting Speed up time on slow CPU

OJ_CPU_COMPENSATION=1.0

Using UDP for submission notification

OJ_UDP_ENABLE=1 OJ_UDP_SERVER=127.0.0.1 OJ_UDP_PORT=1536

3306端口也开放了,判题服务器也可以连接数据库服务器的数据库,但是判题工作没有生效

zhblue commented 4 years ago

判题服务器上的judged进程在修改完judge.conf后,重新启动过么?

qiyuan11111 commented 4 years ago

判题服务器上的judged进程在修改完judge.conf后,重新启动过么?

是重启服务器,还是重新判题程序?如果是判题程序的话重启过,但是服务器没有重启过

zhblue commented 4 years ago

重启的方法是什么? 建议 sudo pkill -9 judged sudo judged

zhblue commented 4 years ago

Database Config

OJ_HOST_NAME=121.36.110.209 //数据库服务器ip OJ_USER_NAME=judge1 //数据库服务器给远程连接的账号 OJ_PASSWORD=123456 //数据库服务器给远程连接的密码 OJ_DB_NAME=jol //数据库名 OJ_PORT_NUMBER=3306

以上的 //及其后的文字,是否也真实的出现在了配置文件中?

zhblue commented 4 years ago

judge.conf 中不支持 //注释 这种语法,请删除后重启。

qiyuan11111 commented 4 years ago

重启的方法是什么? 建议 sudo pkill -9 judged sudo judged

成功了,现在远程判题服务器工作了,之前只用了sudo pkill judged&&sudo judged,没有加上-9,谢谢了!!