云计算实战项目之---学之思在线考试系统

2023-11-05 13:44

本文主要是介绍云计算实战项目之---学之思在线考试系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介:

学之思开源考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部署。

集成部署

环境版本下载地址
NodeJs16https://nodejs.org/download/release/latest-v16.x/
Jdk1.8https://www.oracle.com/java/technologies/downloads/
Mysql8.0/5.7https://dev.mysql.com/downloads/

数据库脚本下载地址:https://www.mindskip.net:999,创建表初始化数据,数据库名称为xzs
代码下载 mysql版本,配合相应的数据库使用
安装mysql ,导入xzs-mysql.sql脚本
学生端默认账号:student / 123456
管理端默认账号:admin / 123456

实操

所有操作都在一台服务器实施,前后端不分离

安装打包工具

安装jdk

[root@web-nginx ~]# tar xzvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
[root@web-nginx ~]# mv /usr/local/jdk1.8.0_221/ /usr/local/java配置环境变量
[root@web-nginx ~]# vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH重载环境变量
[root@web-nginx ~]# source /etc/profile查看java是否安装成功
[root@web-nginx ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

安装maven

[root@web-nginx ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz解压并改名
[root@web-nginx ~]# tar xzvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/
[root@web-nginx ~]# mv /usr/local/apache-maven-3.8.8/ /usr/local/maven设置环境变量
[root@web-nginx ~]# vim /etc/profile
MAVEN_HOME=/usr/local/maven
PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_HOME PATH重载环境变量
[root@web-nginx ~]# source /etc/profile检测maven是否安装成功
[root@web-nginx ~]#  mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/maven
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/java/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"

安装node.js前端打包工具命令npm

[root@web-nginx ~]# wget https://nodejs.org/download/release/latest-v16.x/node-v16.20.2-linux-x64.tar.xz
[root@web-nginx ~]# tar xf node-v16.20.2-linux-x64.tar.xz -C /usr/local/
[root@web-nginx ~]# cd /usr/local/
[root@web-nginx local]# mv node-v16.20.2-linux-x64/ node配置环境变量
[root@web-nginx ~]# vim /etc/profile
NODE_HOME=/usr/local/node
PATH=$NODE_HOME/bin:$PATH
export NODE_HOME PATH重载环境变量
[root@web-nginx ~]# source /etc/profile查看是否安装成功,查看版本
[root@web-nginx ~]# node --version
v16.20.2

获取源代码

安装Git命令获取源代码

[root@web-nginx ~]# yum install -y git

获取clone代码

[root@web-nginx ~]# git clone https://gitee.com/hyunze/xzs-mysql.git

安装mysql5.7

[root@web-nginx ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
[root@web-nginx ~]# rpm -ivh mysql80-community-release-el7-3.noarch.rpm 
[root@web-nginx ~]# vim /etc/yum.repos.d/mysql-community.repo 
将mysql8.0关闭将mysql5.7开启
enabled=1
gpgcheck=0
[root@web-nginx ~]# yum install -y mysql-community-server启动mysql
[root@web-nginx ~]# systemctl start mysqld过滤第一次登录所需的密码
[root@web-nginx ~]# grep pass /var/log/mysqld.log 改密码
[root@web-nginx ~]# mysqladmin -uroot -p'HdV>.f>Ir8;h' password 'QianFeng@123!'
[root@web-nginx ~]# mysql -uroot -p'QianFeng@123!'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.31 MySQL Community Server (GPL)
...创建数据库xzs
mysql> create database xzs character set utf8 collate  utf8_general_ci;
Query OK, 1 row affected (0.00 sec)设置root允许远程登录
mysql> update mysql.user set host = '%' where user = 'root';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0刷新权限
mysql> flush privileges;mysql> \q
Bye

配置mysql环境

修改mysql

[root@web-nginx ~]# vim xzs-mysql/source/xzs/src/main/resources/application-prod.yml
logging:path: /usr/log/xzs/spring:datasource:url: jdbc:mysql://192.168.1.101:3306/xzs?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=trueusername: rootpassword: QianFeng@123!driver-class-name: com.mysql.cj.jdbc.Driver#####url那一行 ip改为自己做实验服务器的ip,/  ?的名字改为自己之前创建数据库的名字。password改为远程登录MySQL数据库的密码

导入初始化mysql

[root@web-nginx ~]# mysql -uroot -p'QianFeng@123!' xzs < xzs-mysql/sql/xzs-mysql.sql 

前端打包

学生端

[root@web-nginx ~]# cd xzs-mysql/source/vue/xzs-student/打包
[root@web-nginx xzs-student]# npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
[root@web-nginx xzs-student]# npm install --registry https://registry.npm.taobao.org  
[root@web-nginx xzs-student]# npm run build
[root@web-nginx xzs-student]# cp -r student xzs-mysql/source/xzs/src/main/resources/static

管理端

[root@web-nginx ~]# cd xzs-mysql/source/vue/xzs-admin/打包
[root@web-nginx xzs-admin]# npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
[root@web-nginx xzs-admin]# npm install --registry https://registry.npm.taobao.org  
[root@web-nginx xzs-admin]# npm run build
[root@web-nginx xzs-admin]# cp -r admin xzs-mysql/source/xzs/src/main/resources/static

将java程序打包成jar包

这时候进行打包,所使用的镜像源是国外的源,因此会导致打包时间巨长,打包超时,打包失败,为了杜绝这种现象,我们可以采用阿里云的镜像源

打开   maven镜像_maven下载地址_maven安装教程-阿里巴巴开源镜像站 (aliyun.com)icon-default.png?t=N7T8https://developer.aliyun.com/mirror/maven?spm=a2c6h.13651102.0.0.3e221b11gh5cgw

配置maven的配置文件,替换镜像源

 vim  /usr/local/maven/conf/settings.xml 

将源文件里的内容替换为

这时开始打包  速度就会很快

[root@web-nginx ~]# cd xzs-mysql/source/xzs
[root@web-nginx xzs]# mvn package

服务上线

[root@web-nginx ~]# mkdir -p /application/java-server
[root@web-nginx ~]# cp xzs-mysql/source/xzs/target/xzs-3.9.0.jar /application/java-server
[root@web-nginx ~]# cd /application/java-server让服务在后台运行
[root@web-nginx java-server]# nohup java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod  xzs-3.9.0.jar  > start1.log  2>&1 &

成功运行的日志显示

访问

学生端访问地址为:http://ip:8000/student

管理员端访问地址为:http://ip:8000/admin​​​​​​

学生端默认账号:student / 123456

管理端默认账号:admin / 123456

实验中遇到问题

1.mysql设置root允许远程登录,语法出现错误

2.学生端及管理端进行打包时,注意路径的使用

3.在后端打包时,如果使用国外的源,可以替换为阿里云的镜像源,提升打包成功率。

4.养成观察日志的习惯,遇到错误在日志中寻找错误原因

这篇关于云计算实战项目之---学之思在线考试系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/350245

相关文章

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl