examstack2考试系统部署方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ExamStack2 考试系统部署方案
修订控制页
1 概述
1.1 简介
ExamStack是国内首款一款基于JAVA与MYSQL开发的网络考试系统。
它可以稳定、顺畅的运行在Windows与Linux平台上。
您可以通过它快捷方便的创建试题和题库,发布试卷,组织考试,系统自动批改。
高度的可配置性和灵活性使得它可以被应用于很多领域。
软件采用GPL协议,完全开放且免费,并且有固定的开发团队提供技术支持。
在ExamStack考试系统第一版的基础上,我们进行了大量代码重构,同时也对数据模型做了部分调整。
为了减小学员考试交卷时大量并发带来的系统风险,我们尝试采用成熟的消息队列框架RabbitMQ 来解决这一问题,因此我们的数据库以及系统的架构同第一版相比,发生了不小的变化。
1.2 部署要点
•Management.war和Portal.war需要部署在同一个目录下。
•Examstack增加了培训功能,因为需要保存培训材料,所以请留出足够的磁盘空间(以实际需要为准)。
•要保证RabbitMQ服务状态为运行状态。
•要保证ScoreMarker状态为运行状态,同时ScoreMarker调用服务地址要配置正确。
2 应用服务器安装配置
2.1 服务器安装部署
2.1.1 服务器配置
•操作系统:Linux、Windows
•内存:最低2G,推荐8G
2.1.2 java运行环境
•java 8
2.1.3 服务器环境
•Tomcat 8
•RabbitMQ
•MySql 5.0以上
2.2 应用部署
2.2.1 数据库
•在MySql中新建一个数据库examstack,字符集使用utf8 -- UTF-8 Unicode
•使用官网提供的examstack.sql还原examstack
•设置好对应的访问权限
2.2.2 RabbitMQ组件
•Erlang安装
RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境.
从Erlang的官网/download.html 下载最新的erlang安装包,Linux和MacOSX下载的版本
或直接在/section/132/download-erlang-otp下载的对应版本的安装包,省的自己配置和安装了
然后解压下载的gz包 tar zxcf *.tar.gz 或rpm包(esl-erlang_18.2-1~centos~6_amd64.rpm)
依赖包检测:
rpm -q make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
1) rpm包(centos/redhat)
yum install esl-erlang_18.2-1~centos~6_amd64.rpm
2) Source .tar.gz
wget /download/otp_src_18.2.1.tar.gz
tar -zxf otp_src_18.2.1.tar.gz
cd otp_src_18.2.1
./configure
make
sudo make install
最好不要用--prefix 指定erlang 安装目录,默认安装到/usr/lib/erlang,改了安装rabbitmq 就不方便。
•Rabbitmq安装
1)rpm包
#wget /releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm #rpm -ivh rabbitmq-server-3.6.0-1.noarch.rpm --force --nodeps
或yum install rabbitmq-server-3.6.0-1.noarch.rpm
PS:/usr/lib/rabbitmq
2)Binary .tar.xz
#tar -Jxvf Binary .tar.xz
#mkdir /usr/lib/rabbitmq
#ln -s /u01/rabbitmq_server rabbitmq //建立软链接
#cd rabbitmq/sbin,./rabbitmq-server -detached //可以实现后台启动
修改/etc/profile,添加环境变量
#set rabbitmq environment
export PATH=$PATH:/opt/rabbitmq/sbin
source profile使得文件生效
cd /opt/rabbitmq/sbin,./rabbitmqctl stop关闭rabbitmq
3)Source .tar.xz
#tar -Jxvf Source .tar.xz-C /opt
#cd /opt/rabbitmq_server
#make TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man
#make install
•启动rabbitmq,并验证启动情况
#rabbitmq-server --detached &ps aux |grep rabbitmq
Starting broker... completed with 0 plugins.
•检查端口5672是否打开
#/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
#/etc/rc.d/init.d/iptables save
#/etc/init.d/iptables restart
#/etc/init.d/iptables status
•注册服务并配置开机启动
#chkconfig rabbitmq-server on
#service rabbitmq-server start
•启用维护插件(可选):
[root@localhost ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
•其他
一般情况下,RabbitMQ的默认配置就足够了。
如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件rabbitmq-env.conf ;
一个是配置信息的配置文件rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。
rabbitmq-env.conf
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
文件的内容包括了RabbitMQ的一些环境变量,常用的有:
#RABBITMQ_NODE_PORT= //端口号
#HOSTNAME=
RABBITMQ_NODENAME=mq
RABBITMQ_CONFIG_FILE= //配置文件的路径
RABBITMQ_MNESIA_BASE=/rabbitmq/data //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/rabbitmq/log //log的路径
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins //插件的路径
具体的列表见:/configure.html#define-environment-variables
2.2.3 应用软件
•部署Portal和Management
1)将Management.war和Portal.war放到Tomcat应用程序目录(webapps)下。
2)启动Tomcat,webapps目录下会生成两个文件夹(Management和Portal)。
3)分别进入到Management/WEB-INF/Spring和Portal/WEB-INF/Spring下修改root-context.xml文件,将数据库地址、用户名和密码修改成正确的内容。
修改完成后重启tomcat服务器。
需要修改的内容如下:
<property name="jdbcUrl"
value="jdbc:mysql:/*.*.*.*:3306/examstack?useUnicode=true&characterEncoding=UTF-8" />
<property name="user" value="root" />
<property name="password" value="***" />
4)访问http://localhost:8080/Management和http://localhost:8080/Portal可以进入到管理后台页面和学员页面,并可以正常登陆,则应用配置成功。
注意:在完成这一步后学员考试交卷无法完成,需要部署ScoreMarker。
•部署ScoreMarker
1)Linux 解压scoreMarker到/opt/目录。
确认config/scoremarker.properties文件配置正确。
修改chmod 777 jsvc 文件权限
修改scoremarker 文件JAVA_HOME路径并拷贝scoremarker 执行脚本到/etc/init.d目录下并检查脚本中的配置。
执行:/etc/rc.d/init.d/scoremarke
2)Windows 解压scoreMarker到任意目录。
确认config/scoremarker.properties文件配置正确。
修改installService.bat中APP_HOME为scoreMarker目录。
运行installService.bat后启动服务ScoreMarkerService服务。
感谢梦醉生将自己安装RabbitMQ的经验贡献出来:
1、下载esl-erlang软件,地址是:https:///resources/download.html
双击安装erlang;配置环境变量ERLANG_HOME=E:\jsp\erlang\erl7.2,并在系统变量path中添加E:\jsp\erlang\erl7.2\bin;(此值根据安装路径写)。
在命令提示符下输入”erl”可得如下结果: C:\Users\adapp>erl
Eshell V18.2.3 (abort with ^G) 说明安装成功
2、下载RabbitMQ并安装。
下载地址是:/download.html
配置环境变量RABBITMQ_SERVER=E:\jsp\RabbitMQ Server\rabbitmq_server-3.6.0(此值根据安装路径写)
找到环境变量中的path变量:
双击path,在其后面增加:E:\jsp\RabbitMQ Server\rabbitmq_server-3.6.0\sbin (此值根据安装路径写),然后确定即可
打开CMD,在DOS下,进入E:\jsp\RabbitMQ Server\rabbitmq_server-3.6.0\sbin,运行rabbitmq-service,按提示输入rabbitmq-service Install后回车,把RabbitMQ安装成服务即可。
在控制面板中,打开服务管理窗口,把RabbitMQ服务和ScoreMarkerService服务启动即可。