转载出处

1. 前期准备工作

1.1 一个Linux系统

因为现场赛的缘故,我一直使用的都是乌邦图。
这里我测试用的是ubuntu14.04 Desktop 64bit ,当然选择Server会更好一些.
系统的安装不再赘述,作为服务器请选用Server版本。

1.2 更新源

在搭建环境之前,请确保你的源是有效的,速度是给力的,
建议选择一个国内的源14.04 LTS 更新源

1
2
3
将原来的源覆盖并保存
 
更新源

1.3 必要文件准备

我们需要下载这几个文件(部分链接需要FQ才能访问):

1.*.sql https://gist.github.com/trcnkq/a3cf7004759d41d79eb7

2http_client.json https://gist.github.com/trcnkq/7a5deff639ff99475138

3remote_accounts.json https://gist.github.com/trcnkq/e9dac7eea72d2b781949

4virtual judge源文件 https://github.com/trcnkq/virtual-judge

如果无法FQ或者链接失效,请用我的百度云链接: Vjudge搭建 (这里面包含了之后会用到的一系列文件,嫌麻烦可以都下载下来)

2. 必要环境搭建

2.1 JDK的安装和配置

https://jdk7.java.net/download.html (之前的云盘链接内有64位的,请认准这个jdk版本)
注意系统是32位还是64位

1.) 解压下载的文件

1
7.0_80

2.) 移动文件夹到指定目录下

1
2
3
jvm
 
/

3.) 设置环境变量

1
2
profile
)

在文件最后加入如下内容:

1
2
3
4
7.0_80
jre
lib
$PATH

4.) 使修改生效:

1
2
3
4
5
profile
found
:
s
profile

这时候在终端输入 java –version 查看当前 JDK 版本
至此,JDK 配置完成

2.2 Redis的安装和配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
:
  
  
  
make
  
init脚本:
server
.conf
server
server
.conf
    初始化用户和日志路径
data和日志文件夹
redis
redis
redis
redis
redis
设置开机自动启动,关机自动关闭
defaults
Redis:
start

2.3 Maven3的安装和配置

1
2
3
Maven3
get来获得
y

安装完后,sudo su 进入root
用 mvn –v 查看一下Maven的版本,如下图:
安装完毕后,默认的JDK版本可能会被更改。
因为Maven3安装的同时把openjdk也一并安装了。

1
2
3
4
5
jdk
300
300
jdk
javac

使用java -version或者mvn -v再次查看,JDK版本已更改

2.4 Tomcat7的安装和配置

1
2
3
4
5
tomcat7:
  
,
8080查看是否安装成功
    如果出现下图,即为安装成功

Ubuntu 14.04 Virtual Judge 的搭建

1
2
3
admin
admin
admin
1
2
3
4
5
6
7
8
    修改账户:
.xml文件
/
.xml
    我这里用的是
>
>
>

Ubuntu 14.04 Virtual Judge 的搭建

1
2
:
restart

重新在浏览器打开tomcat界面
点击manager webapp,用刚才我们建立的用户登陆

5.) 修改JDK默认的JDK版本

  1. 检查 tomcat7 Server Information,版本可能不是我们自己的jdk版本。
  2. 这里我们要修改tomcat使用的JDK版本,这步很重要,否则会出现很多问题

Ubuntu 14.04 Virtual Judge 的搭建

1
2
3
4
5
tomcat7
    加入如下内容:
7.0_80
tomcat7:
restart

Ubuntu 14.04 Virtual Judge 的搭建

OK, tomcat7的JDK版本修改完毕。

2.5 Mysql的安装

1
2
3
4
y
123456,连续输入两次即可。
    进入数据库测试一下
p

Ubuntu 14.04 Virtual Judge 的搭建

至此,搭建 Virtual Judge 所需的所有环境,都已搭建完毕!

3. 工程代码实施

3.1 Vjudge的打包

1
2
3
4
目录:
/
:
package

里面会有一个vjudge.war文件,就是我们打包完成的 Virtual Judge。
把这个war文件拷到tomcat7的webapps目录下。

打包的过程可能会相当长,特别是网络不好的情况下,万一掉包了,非常蛋疼,如果你不想等待太久,可以直接下载此文件,在文章开头的百度云网盘链接里.

放到webapps目录后,会自动生成一个vjudge文件夹,如果没有生成,你也可以自行解压。

Ubuntu 14.04 Virtual Judge 的搭建

3.2 remote_accounts.json文件的编辑

把各个OJ的提交账号添加到remote_accounts.json里。

3.3 config.properties文件的编辑

如不需要代理或VPN访问国外OJ,保留http_client.json里面的[“direct”]即可。

3.4 vjudge的简单部署

把 remote_accounts.json 和 http_client.json 两个文件放在指定的文件夹下
这里我放在 /var/lib/tomcat7/webapps/vjudge/ 目录下

1
2
/
/

更改/webapps/vjudge/WEB-INF/classes/的目录下config.properties文件
将remote_accounts.json和http_client.json的绝对路径改为正确的路径

1
2
/
.properties

Ubuntu 14.04 Virtual Judge 的搭建

PS:如果你的数据库密码不是123456,那么上面的root密码你也需要修改,默认为123456

3.5 vhoj数据库的建立

在mysql中新建一个数据库,名字为:vhoj,
并把表vhoj_20141109.sql导入(可能我的版本略微旧了点)。

1
2
3
  
  
;

Ubuntu 14.04 Virtual Judge 的搭建

1
.sql

Ubuntu 14.04 Virtual Judge 的搭建

1
restart
1
2
manager
running状态了。

Ubuntu 14.04 Virtual Judge 的搭建

4. 大功告成的Vjudge

在地址栏输入localhost:8080/vjudge,进入搭建成功的vjudge:

到此为止,Virtual Judge 终于搭建成功,just enjoy it!

相关文章:

  • 2021-06-03
  • 2022-01-17
  • 2022-12-23
  • 2021-09-02
  • 2021-12-26
  • 2021-05-18
  • 2020-01-17
  • 2022-12-23
猜你喜欢
  • 2021-07-23
  • 2022-12-23
  • 2022-01-22
  • 2021-07-30
  • 2021-09-07
  • 2021-07-09
相关资源
相似解决方案