JNOJ 江南在线评测系统 搭建

江南在线评测系统(Jiangnan Online Judge),是一个在线的判题系统。 用户可以在线提交程序多种程序(如C、C++、Java)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
GitHub项目介绍:https://www.jnoj.org
GitHub项目地址:https://github.com/shi-yang/jnoj
在线Demo:https://demo.jnoj.org

环境需求

  • 在 Linux 环境下安装。判题机是在 Linux 环境下写的,Windows 下无法运行判题机。
  • 搭建 LAMP (或 LANP) 环境:PHP 7.x、MySQL、Apache2 / Nginx
  • 可以参考:LAMP 环境搭建

安装过程

  • 1.下载 jnoj 运行命令:
    git clone https://github.com/shi-yang/jnoj.git

  • 2.配置 Web 端

    i.配置数据库信息

    config/db.php文件中配置数据库信息,例如:

    return [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=jnoj',
        'username' => 'root',
        'password' => '123456',
        'charset' => 'utf8',
    ];
    

    注意: Web 程序不会为你创建数据库,需要你自己手动创建该数据库(创建方法:运行mysql -u root -p登录MySQL,然后 create database jnoj;,执行···quit;···可退出MySQL)。

    ii.执行安装命令

    进入 jnoj 目录,在命令行运行 ./yii install 来安装。安装过程会自动导入所需的 SQL 数据,并且需要你根据提示输入管理员的账号密码。

做好以上步骤后便可以使用 Web 端:

http://localhost/jnoj/web/

此时还不能进行判题,需配置判题机才能判题。

  • 3.配置判题机

    i.安装编译的依赖,运行命令:sudo apt install libmysqlclient-dev libmysql++-dev
    ii.创建一个用于判题的用户,运行命令:sudo useradd -m -u 1536 judge
    iii.将控制台切换到 judge目录(即运行 cd judge命令),然后运行 make命令
    iiii.运行 sudo ./dispatcher命令

  • 4.配置配置多边形出题系统

    i.将控制台切换到 polygon目录(即运行 cd polygon命令),然后运行 make命令
    ii.运行 sudo ./polygon命令
    安装过程执行命令如下:

    $ cd /var/www/html
    $ git clone https://github.com/shi-yang/jnoj.git
    $ cd jnoj
    $ vim config/db.php
    $ ./yii install
    $ sudo useradd -m -u 1536 judge
    $ vim judge/config.ini
    $ cd judge
    $ sudo apt install libmysqlclient-dev libmysql++-dev
    $ make
    $ sudo ./dispatcher
    $ cd ../polygon
    $ vim config.ini
    $ make
    $ sudo ./polygon
    

善后

限制上传文件大小和评测时间 (php&apache2里修改)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章