当前位置: 首页 > news >正文

学之思开源考试系统部署至Centos7

学之思开源考试系统部署至Centos7

1、下载源码

源码下载:
https://gitee.com/mindskip/xzs-mysql

数据库脚本下载:
https://www.mindskip.net:999/

2、项目打包

分别在\source\vue\xzs-student目录和source\vue\xzs-admin目录,执行前端打包命令

npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm install --registry https://registry.npm.taobao.org  
npm run build

打包后的目录为student和admin
将文件放到\source\xzs\src\main\resources\static下,
在这里插入图片描述

然后将修改application-prod.yml中的datasource地址,这个application-prod.yml为生产环境的配置文件,修改数据库的密码,改成自己的
在这里插入图片描述
修改成功之后将java程序打包成jar包,首先点击idea右侧的maven图标,依次点击lifestyle->clean,双击clean:
在这里插入图片描述
然后双击package进行打包,打包成功会生成target目录,里面有一个jar包,这个时候打包成功:
在这里插入图片描述

3、上传文件至Centos

下载mysql8
https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

下载 java
https://www.oracle.com/java/technologies/downloads/#java8
在这里插入图片描述

3.1、 准备Centos虚拟机、Xshell、Xftp

环境安装直接百度 csdn有很多教程

3.2、 配置环境

用xshell连接Centos
在这里插入图片描述
新建文件夹/home/wqp/software

mkdir -p /home/wqp/software

然后用Xftp 将上面下载的mysql包 和jdk 上传至/home/wqp/software目录:
在这里插入图片描述
新建文件夹:/usr/local/java

mkdir -p /usr/local/java

然后在/home/wqp/software目录下解压jdk包至/usr/local/java目录:

tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local/java

然后在修改配置文件/etc/profile

vi /etc/profile

将下面的代码放在/etc/profile最后面:

export JAVA_HOME=/usr/local/java/jdk1.8.0_391
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

在这里插入图片描述
执行命令更新环境变量:source /etc/profile

验证jdk安装是否成功,执行java -version

出现jdk版本,则安装完成。

然后在/home/wqp/software目录下执行以下命令解压mysql:

tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述
执行以下命令删除包,否咋会影响mysql的安装

rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs

然后依次安装mysql包,注意下面的各个包安装顺序不能改变:

rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm 

注意:安装最后一个包之前需要安装perl和net-tools

yum install perls
yum install net-tools

安装完成之后执行以下命令:

# 初始化
mysqld --initialize --console
# 用户组设置
chown -R mysql:mysql /var/lib/mysql/
# 启动
systemctl start mysqld
# 查看初始密码
cat /var/log/mysqld.log|grep localhost

然后运行下面命令连接mysql,回车之后复制初始密码粘贴,再回车:

mysql -uroot -p

注意:这里输入的密码是看不见的
在这里插入图片描述
然后执行下面的命令修改密码:
我的密码设置为了123456,看你自己怎么设置。

alter user 'root'@'localhost' identified by '123456';

然后新建文件夹:

mkdir -p /usr/local/xzs/web
mkdir -p /usr/local/xzs/release
mkdir -p /usr/local/xzs/sql

将下载的sql,数据库文件上传至/usr/local/xzs/sql目录,将打包的jar包上传至/usr/local/xzs/release目录:
在这里插入图片描述在这里插入图片描述

然后登录mysql:

# 登录
mysql -uroot -p
# 提示输入密码回车# 创建数据库
create database xzs;
#切换数据库
use xzs;

在这里插入图片描述

然后再切换至/usr/local/xzs/sql目录下,导入sql脚本至数据库:

cd /usr/local/xzs/sql
mysql -u root -p -D xzs < /usr/local/xzs/sql/xzs-mysql.sql

在这里插入图片描述

3.3、 启动项目

在/usr/local/xzs/release目录下执行以下命令来启动项目:

cd /usr/local/xzs/releasenohup 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

ip为Centos的ip地址
在这里插入图片描述

注意:
如果访问不了,可能是防火墙的原因,修改防火墙配置,直接百度,开放8000、3306、8001端口。

相关文章:

学之思开源考试系统部署至Centos7

学之思开源考试系统部署至Centos7 1、下载源码 源码下载&#xff1a; https://gitee.com/mindskip/xzs-mysql 数据库脚本下载&#xff1a; https://www.mindskip.net:999/ 2、项目打包 分别在\source\vue\xzs-student目录和source\vue\xzs-admin目录&#xff0c;执行前端打…...

如何利用浏览器的可见性API优化网站性能

最近在使用微软AI聊天工具Bing时&#xff0c;发现一个有趣的东西。我向它提问后&#xff0c;它在持续输出的过程中&#xff0c;如果我离开了当前它的浏览器会话&#xff0c;比如切屏&#xff0c;看当前浏览器的其它标签页&#xff0c;它会默认停止它的输出&#xff0c;等我回来…...

还不知道IP地址不够用是怎么被大牛们解决的?(NAT/NAPT, IPv6, DHCP)

文章目录 前言1. DHCP网络管理协议什么是 DHCPDHCP 两种分配机制 2. NAT网络地址转换协议什么是 NATNAT 技术使用NAT网络设备间如何通信两个内网设备相互通信不同内网中的设备相互通信NAT IP转换过程 NAPT 技术NAT 技术的缺陷 3. IPv6 协议什么是 IPv6 总结 前言 在之前的文章…...

使用决策树预测隐形眼镜类型

任务描述 本关任务&#xff1a;编写一个例子讲解决策树如何预测患者需要佩戴的隐形眼镜类型。使用小数据集&#xff0c;我们就可以利用决策树学到很多知识&#xff1a;眼科医生是如何判断患者需要佩戴的镜片类型&#xff0c;一旦理解了决策树的工作原理&#xff0c;我们甚至也…...

[ACTF2020 新生赛]BackupFile 1

题目环境&#xff1a; 好好好&#xff0c;让找源文件是吧&#xff1f;咱们二话不说直接扫它后台 使用dirsearch工具扫描网站后台&#xff08;博主有这个工具的压缩包&#xff0c;可以私聊我领取&#xff09;python dirsearch.py -u http://0d418151-ebaf-4f26-86b2-5363ed16530…...

解决vuex刷新数据丢失

Vuex 是一个 Vue.js 的状态管理库&#xff0c;它使得你可以在 Vue 组件之间共享状态。当你在 Vuex 中更新状态时&#xff0c;如果你遇到数据丢失或数据不一致的问题&#xff0c;可能需要进行深度复制或者使用其他方式来确保数据的完整性。 假设你有一个 Vuex 存储&#xff0c;…...

linux系统下读取当前硬盘的温度

这个其实很简单&#xff0c;借助于smartctl工具&#xff08;Ubuntu默认安装好了&#xff09;&#xff0c;标红的部分就是当前温度&#xff0c;单位是摄氏度。 sudo smartctl -l scttempsts /dev/sda...

python 深度学习 解决遇到的报错问题8

本篇继python 深度学习 解决遇到的报错问题7-CSDN博客 目录 一、OSError: [WinError 127] 找不到指定的程序。 Error loading "D:\my_ruanjian\conda-myenvs\deeplearning\lib\site-packages\torch\lib\caffe2_detectron_ops.dll" or one of its dependencies. 二、…...

Linux pipe()系统调用示例

Linux系统调用pipe函数&#xff0c;创建一个pipe&#xff0c;通过传入的fd数组返回pipe的读、写两端。 其中fd[ 0 ]用于读&#xff0c;fd[ 1 ]用于写。 一个pipe是单向数据传输的&#xff0c;不用用于父子进程双向读写。创建2个pipe实现父子进程间的双线读写。 #include <u…...

音频中的采样率和比特率

音频中的采样率和比特率 采样频率千比特率音频比特率 采样频率 参考&#xff1a;https://blog.csdn.net/qq_38907791/article/details/88925224 采样频率&#xff0c;也称为采样速度或者采样率&#xff0c;定义了每秒从连续信号中提取并组成离散信号的采样个数&#xff0c;它…...

Python常用脚本

1.解压指定文件夹内的zip包&#xff0c;解压到当前位置 import os import zipfile# 指定文件夹路径 folder_path "/path/to/your/folder"# 获取文件夹下所有的zip文件 zip_files [os.path.join(folder_path, file) for file in os.listdir(folder_path) if file.e…...

Redis5 分布式系统之主从模式

目录 分布式系统 引子 分布式系统类型 主从模式 一个主节点和多个从节点 创建多个节点方法 配置主从结构 主从模式知识 主从复制 拓扑结构 1.一主一从 2.一主多从 3.树形主从 主从实现原理 psync数据同步 全量复制和部分复制 psync流程 1.全量数据同步 2.部…...

【黑马程序员】Maven 进阶

文章目录 前言一、分模块开发与设计1. 分模块开发意义2. 分模块开发&#xff08;模块拆分&#xff09;2.1 创建 Maven 模块2.2 书写模块代码2.3 通过 Maven 指令安装模块到本地仓库&#xff08;install 指令&#xff09; 二、依赖管理1. 依赖传递1.1 依赖传递冲突问题 2. 可选依…...

231108 C语言memset当第三个参数为0,即设置个数为零也不报错

memset语法&#xff1a; void *memset(void *s, int c, size_t n); 犹豫第三个参数为0会不会报错&#xff0c;测试不会。 代码&#xff1a; #include"stdio.h" #include"stdlib.h" // memset memcpy int main() { int sig[100] { 0 }; int …...

HMM与LTP词性标注之马尔科夫模型(HMM原理剖析)

文章目录 问题描述viterbi算法联合概率与条件概率维特比算法实例 问题描述 viterbi算法 联合概率与条件概率 维特比算法实例...

Python自动化测试selenium指定截图文件名方法

这篇文章主要介绍了Python自动化测试selenium指定截图文件名方法&#xff0c;Selenium 支持 Web 浏览器的自动化&#xff0c;它提供一套测试函数&#xff0c;用于支持 Web 自动化测试&#xff0c;下文基于python实现指定截图文件名方法&#xff0c;需要的小伙伴可以参考一下 前…...

Linux 实现文件后半部分的复制

继上次实现文件从后往前数2k的数据进行复制&#xff0c;此次要求是文件的一半且是后半部分。 即复制源文件sour_file的后半部分到dest_file 除了数据上从后2K变化到后一半之外&#xff0c;其他的几乎没有什么变化。 这道题的关键点就在于后一半怎么求&#xff0c;在经历了用 …...

阿里开源中间件一览

1. 概述以及竞品对比 间件介绍官方链接竞品竞品介绍异同点对比Dubbo高性能的RPC框架&#xff0c;用于实现分布式服务的调用和管理。DubbogRPC gRPC是由Google开源的一款高性能、通用的RPC框架&#xff0c;支持多种编程语言 链接&#xff1a;gRPC Dubbo更注重于服务治理和可扩展…...

Ubuntu20.04下Salome_meca 2022软件安装(支持GPU加速)

一、什么是Salome_meca &#xff1f; Salome_meca 是一个开源的有限元分析软件套件&#xff0c;主要用于模拟和分析复杂的力学问题。它是 Salome 平台的一部分&#xff0c;Salome 是一个通用的集成化软件环境&#xff0c;用于建模、预处理、模拟和后处理各种复杂的工程和科学问…...

uniapp:打包ios配置隐私协议框

使用uniapp打包ios 上架商店需要配置隐私协议政策弹窗。当用户点击确定后才能继续操作。 首先manifest.json中配置使用原生隐私政策提示框是不支持ios的。不用勾选。 解决思路&#xff1a; 1、新建页面&#xff1a;iosLogin.vue&#xff0c;pages.json中 这个页面需要放在第一…...

如何让Apple Touch Bar在Windows完美运行?DFRDisplayKm驱动全攻略

如何让Apple Touch Bar在Windows完美运行&#xff1f;DFRDisplayKm驱动全攻略 【免费下载链接】DFRDisplayKm Windows infrastructure support for Apple DFR (Touch Bar) 项目地址: https://gitcode.com/gh_mirrors/df/DFRDisplayKm Apple Touch Bar作为MacBook Pro的特…...

实战复盘:从帕鲁杯应急响应赛题看企业级安全事件调查全流程

企业级安全事件调查实战指南&#xff1a;从CTF赛题到真实攻防溯源 在网络安全领域&#xff0c;应急响应能力直接决定了企业遭受攻击后的损失程度。去年某大型电商平台因未能及时识别攻击链&#xff0c;导致用户数据持续泄露长达三周&#xff0c;最终造成数亿元的直接损失。这类…...

如何一键下载国内主流视频平台的在线视频:Video-Downloader完全指南

如何一键下载国内主流视频平台的在线视频&#xff1a;Video-Downloader完全指南 【免费下载链接】Video-Downloader 下载youku,letv,sohu,tudou,bilibili,acfun,iqiyi等网站分段视频文件&#xff0c;提供mac&win独立App。 项目地址: https://gitcode.com/gh_mirrors/vi/V…...

ide-eval-resetter:突破JetBrains IDE试用期限制的创新方案——2026开发者必备指南

ide-eval-resetter&#xff1a;突破JetBrains IDE试用期限制的创新方案——2026开发者必备指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 问题引入&#xff1a;JetBrains IDE试用期限制的痛点分析 作为开发…...

从按键消抖到外部中断:STM32 GPIO输入模式的‘避坑’指南与AFIO的隐藏用法

从按键消抖到外部中断&#xff1a;STM32 GPIO输入模式的‘避坑’指南与AFIO的隐藏用法 在嵌入式开发中&#xff0c;GPIO&#xff08;通用输入输出&#xff09;接口是与外部世界交互的第一道门槛。对于STM32开发者来说&#xff0c;GPIO配置看似简单&#xff0c;却暗藏诸多细节陷…...

DeerFlow效果展示:自动生成的深度研究报告与播客内容惊艳分享

DeerFlow效果展示&#xff1a;自动生成的深度研究报告与播客内容惊艳分享 1. DeerFlow核心能力概览 DeerFlow作为一款深度研究智能助手&#xff0c;整合了语言模型、网络搜索和代码执行能力&#xff0c;能够自动完成从信息收集到内容生成的全流程工作。其核心功能亮点包括&am…...

Vue3 + FFmpeg.wasm 实战:5分钟搞定浏览器端视频格式转换(附完整代码)

Vue3 FFmpeg.wasm&#xff1a;浏览器端视频处理的革命性方案 当现代Web应用越来越依赖多媒体处理能力时&#xff0c;传统依赖后端转码的方案暴露出明显短板&#xff1a;上传耗时、服务器压力大、隐私数据外流风险。而FFmpeg.wasm的出现彻底改变了这一局面——这个基于WebAssem…...

大厂Agent开发工程师亲授!这份核心技术学习路线助你轻松拿下高薪Offer!

结合个人实际的工作内容和招聘市场对于Agent开发的能力要求&#xff08;阅读汇总了大量大厂的Agent开发招聘面经&#xff09;&#xff0c;我总结了一份核心技术学习路线。 这个学习路线由浅到深&#xff0c;基本覆盖了现在大厂对于Agent开发的技术要求&#xff0c;技术栈完全可…...

HDSceneColor节点]原理解析与实际应用

渲染管线兼容性详解HD Scene Color节点的可用性完全取决于所使用的渲染管线&#xff0c;这是开发者在选择和使用该节点时必须首先考虑的因素。高清渲染管线&#xff08;HDRP&#xff09;支持HDRP是Unity针对高端平台和高端硬件设计的高保真渲染解决方案HD Scene Color节点专为H…...

【数据结构】数组与特殊矩阵

数据结构的学习中&#xff0c;数组与特殊矩阵是基础且核心的内容。它们不仅是程序设计中最常用的线性结构&#xff0c;更是处理复杂矩阵运算的基础。本文将结合解析与真题&#xff0c;带你彻底搞懂数组的存储方式和特殊矩阵的压缩存储技巧。一、一维数组与二维数组&#xff1a;…...