# examstack_lx
**Repository Path**: lx1195423292/examstack_lx
## Basic Information
- **Project Name**: examstack_lx
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 10
- **Forks**: 6
- **Created**: 2020-03-19
- **Last Updated**: 2023-10-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#ExamStack_lx V3.0
----QQ交流群:808418305
## 1 概述
### 1.1 简介
此项目是基于ExamStack V2.0进行二次开发,合并了判分服务启动的逻辑,不需要另外启动,原项目地址[ExamStack V2.0](https://gitee.com/amarantine_infinity/ExamStack.git)
### 1.2 部署要点
1. `Management.war`和`Portal.war`需要部署在`同一个目录`下。
1. 要保证RabbitMQ服务状态为`运行状态`。
1. 要保证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 数据库
1. 在MySql中新建一个数据库`examstack`,字符集使用`utf8 -- UTF-8 Unicode`
1. 使用提供的`examstack.sql`还原`examstack`
1. 设置好对应的访问权限
#### 2.2.2 RabbitMQ
1. 安装最新版本的RabbitMQ,具体安装方法,在网络上可以找到很多。
1. 配置
#### 2.2.3 应用
1. 将`Management.war`和`Portal.war`放到Tomcat应用程序目录(`webapps`)下。
1. 启动Tomcat,webapps目录下会生成两个文件夹(`Management`和`Portal`)。
1. 分别进入到`Management/WEB-INF/Spring`和`Portal/WEB-INF/Spring`下修改`root-context.xml`文件,将数据库地址、用户名和密码修改成正确的内容。修改完成后重启tomcat服务器。
*需要修改的内容如下:*
```
```
1. 访问`http://localhost:8080/Management`和`http://localhost:8080/Portal`可以进入到管理后台页面和学员页面,并可以正常登陆,则应用配置成功。
## 3 系统问题处理
1. **不能获得数据库连接**
> Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection;nested exception is java.sql.SQLException:Access denied for user 'root'@'localhost'
请检查数据库连接字符串是否正确,同时检查数据库名、用户名和密码是否设置正确。
1. **交卷失败**
> `RabbitMQ`没有启动会导致应用程序连接`RabbitMQ`失败
请检查`RabbitMQ`服务是否启动。
1. **学员交卷后,管理界面学员对应的状态没有改变**
> 交卷成功后,学员考试状态会修改成`已交卷`或者`已阅卷`,如果在提示“交卷成功”后没有发生任何变化,证明ScoreMarker没有正常启动或者ScoreMarker调用接口失败。
请检查ScoreMarker是否启动。同时请保证ScoreMarker能调用到Management提供的接口,这一点在ScoreMarker部署中已经说明。
1. **RabbitMQ、MySql、ScoreMarker无法启动或经常被Kill掉**
> 在测试过程中发现,内存不足的情况下(我们使用的是1G内存),RabbitMQ、MySql、ScoreMarker经常被Kill,而且无法启动,查看日志会发现提示内存不够。
查看下日志,如果是内存不够的原因,那就赶紧加内存吧。为了保证系统正常运行,内存不能低于2G。