环境介绍

序号 项目 版本
1 操作系统 CentOS Linux release 7.9.2009 (Core)
2 redis 7.0.0
3 Mysql mysql Ver 8.0.29 for Linux on x86_64 (MySQL Community Server - GPL)
4 nginx 1.21.6
5 在线考试系统 xzs-3.7.0

学之思在线考试系统官方地址为:https://www.mindskip.net/xzs.html
本文末尾会附带本次部署用到的所有文件。

1. 环境配置

1.0 新建部署目录

mkdir deploy
cd deploy
pwd

输出:

/home/rio/deploy

1.1 Redis的安装

1.1.1 下载redis安装包

wget https://download.redis.io/releases/redis-7.0.0.tar.gz
tar -zxvf redis-7.0.0.tar.gz
# 保持目录整洁
mkdir download
mv redis-7.0.0.tar.gz download

1.1.2 进入目录并编译安装

cd redis-7.0.0
# 更新gcc等编译组件#先切换到root
sudo -i
cd /home/rio/deploy/redis-7.0.0
yum -y install gcc automake autoconf libtool make python3
# 编译并安装
make && make install

1.1.3 根据应用场景,可以选择是否make test

yum -y install tcl
make test

1.1.4 修改redis配置

nano redis.conf
# 开启后台启动,找到以下字符串
# daemonize no
# 改为 daemonize yes
daemonize yes

保存退出
1.1.5 启动redis

./src/redis-server redis.conf
ps aux |grep redis


1.1.6 注册为系统服务
提前kill掉刚才启动的进程

# 具体pid根据自己情况查询
kill 116251
cd utils/
cp install_server.sh install_server.sh.bak
nano install_server.sh

找到以下代码,对其注释(下述代码已做完注释)

#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
#       echo "This systems seems to use systemd."
#       echo "Please take a look at the provided example service unit files in this directory, and adapt and$
#       exit 1
#fi
./install_server.sh


安装完成后服务会自动运行,先kill掉。接下来继续注册为系统服务:

mv /etc/init.d/redis_6379 /etc/init.d/redis
chkconfig --add redis
# 重新加载服务配置并启动redis
systemctl daemon-reload
systemctl restart redis

1.2 安装mysql8

1.2.1 安装运行(仍在root身份)

cd /home/rio/deploy/download
# 获取官方源并安装
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-server --nogpgcheck
# 启动并测试服务
sudo systemctl start mysqld
sudo systemctl status mysqld


1.2.2 配置

# 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
# 获取临时密码
cat /var/log/mysqld.log |grep 'temporary password'
# 登录mysql
mysql -u root -p
#修改root密码#注意密码强度,太弱会执行失败
alter user 'root'@'localhost'  identified by '你的密码';
flush privileges;
select user,host from mysql.user;

小结:如果你处于离线安装情境,请参考此文章:Centos 7离线安装最新版mysql

1.3 安装JDK 1.8

1.3.1 下载软件包

cd /home/rio/deploy/download
# 下载
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm
# 安装
rpm -ivh jdk-18_linux-x64_bin.rpm
# 验证
java --version

1.4 安装Nginx

# 安装Nginx支持
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 下载软件包
wget http://nginx.org/download/nginx-1.21.6.tar.gz
tar -zxvf nginx-1.21.6.tar.gz -C ../
cd ../nginx-1.21.6/
# 编译
./configure
make && make install
# 配置
nano /usr/local/nginx/conf/nginx.conf

修改端口

nano /usr/lib/systemd/system/nginx.service

写入以下内容:

[Unit]
Description=nginx
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
# 设置开机启动
systemctl enable nginx.service
systemctl daemon-reload
# 启动服务
service nginx start
# 验证
service nginx status

2. 安装服务器

2.1 验证环境

ps -ef |grep -E 'mysql|redis|nginx'
java --version

确认无误后继续运行,否则请检查环境配置

2.2 数据库配置

cd /usr/local/
# 项目结构配置
mkdir xzs
cd xzs
mkdir sql release web
# 登录mysql
mysql -u root -p

创建数据库

create database xzs;
use xzs;
exit;
# 执行数据库脚本
mysql -u root -p -D xzs < /usr/local/xzs/sql/xzs-mysql.sql

2.3 配置jar包

打开java IDE(部署时采用IntelliJ IDEA)
2.3.1 修改配置文件:

src/main/java/resources/application-prod.yml

修改:

username: root
password: <你的密码>

如需修改端口,打开配置文件(本文未做变动):

src/main/java/resources/application.yml

2.3.2 修改完编译打包:
执行

Maven=>Lifecycle=>clean
Maven=>Lifecycle=>package

2.3.3 将编译好的java包: 上传到deploy目录,拷贝文件:

cp xzs-3.7.0.jar /usr/local/xzs/release

2.3.4 启动服务端

# 启动
nohup java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod  xzs-3.7.0.jar  > start1.log  2>&1 &
# 验证
ps -ef |grep xzs

3. 更新Nginx配置

注意下文中我使用的端口号是9001,可根据实际情况修改

nano /usr/local/nginx/conf/nginx.conf

修改后如下:

server {
listen 9001;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:8000;
}

service nginx restart

4. 设置防火墙

firewall-cmd --permanent --add-port=9001/tcp
firewall-cmd --reload

5. 浏览器登录测试

5.1 学生登录界面

5.2管理员登录界面

5.3 管理员后台界面

5.4 学生主页面

6.有关文件

本文download文件夹和mysql-server安装过程中的rpm包缓存打包完成
CSDN下载:

6.1 download文件夹

6.2 学之思源码(3.7.0)

CentOS7 安装学之思开源考试系统Mysql版相关推荐

  1. 学之思开源考试系统 - 使用手册

    文章目录 一.前期准备 1. 启动后端 2. 启动前台管理员端 3. 启动前台学员端 二.用户添加 2.1. 学生添加 2.2. 管理员添加 三.题目管理 3.1. 添加学科 2.2. 单选题添加 2 ...

  2. “学而优”在线考试系统的商业模式

    "学而优"在线考试系统的商业模式 运营目标:在三年内成为中国NO.1的在线考试服务提供商. 业务背景: 很多公司/企业/机构,均要对自已的员工进行培训及考试.通常,这个过程是:培训 ...

  3. 最强开源考试系统-卷王

    本文是介绍国产开源考试系统的后起之秀,开源考试问卷系统天花板(功能已远远超出现阶段所有的开源考试系统),卷王考试系统,开源地址 SurveyKing Gitee. 卷王考试系统的部分功能已经超过目前主 ...

  4. 在线考试系统php源码,在线考试系统 php版

    [php]代码库<?php set_include_path('.' . PATH_SEPARATOR . './admin'. PATH_SEPARATOR . get_include_pat ...

  5. 基于SSH的医院挂号预约系统(MySQL版)

    介绍: 医院挂号预约系统(MySQL版) 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善. 程序功能: 1.网站前台:用户注册登录 ...

  6. 一个开源考试系统—PHPEMS

    原文链接:这里 0.前言 一直想搭建考试系统,网上找了好多开源的,最终选择了phpems.原因是完全开源,可以随便diy.而且目前还有作者再维护. 官方网站:http://www.phpems.net ...

  7. linux免费计费系统下载,思谷电话计费系统 Linux版

    思谷电话计费系统2009 Linux版功能简介: 1.支持数百种型号交换机,多种计费方式 系统提供强大灵活的话单格式编辑器,配合多种特殊指令,可以准确解析大多数交换机的话单.对于新机型,用户只要按照原 ...

  8. 考试系统mysql数据库设计_《在线考试系统数据库设计与实现》.doc

    网上测试系统 PAGE28 / NUMPAGES29 西南财经大学 Southwestern University of Finance and Economics 课程实验报告 课程名称: 数据库 ...

  9. linux 计价软件,思谷电话计费系统Linux版免费版_思谷电话计费系统Linux版官方下载_思谷电话计费系统Linux版5.1-华军软件园...

    思谷电话计费系统2009 Linux版功能简介: 1.支持数百种型号交换机,多种计费方式 系统提供强大灵活的话单格式编辑器,配合多种特殊指令,可以准确解析大多数交换机的话单.对于新机型,用户只要按照原 ...

  10. 考试系统mysql数据库设计_在线考试系统数据库设计(表)

    <在线考试系统数据库设计(表)>由会员分享,可在线阅读,更多相关<在线考试系统数据库设计(表)(7页珍藏版)>请在人人文库网上搜索. 1.在线考试系统数据库设计数据库名OnLi ...

最新文章

  1. 打羽毛球如何提高手腕的爆发力
  2. java 登录牵手_Java: HttpURLConnection 模拟登录方法 (带cookie 的Post/Get)_20160908_七侠镇莫尛貝...
  3. HDU - 4552 怪盗基德的挑战书(后缀数组+RMQ/KMP+dp)
  4. xcode于Archive当产生安装包遇到ld: library not found for -lPods
  5. 三级菜单页面布局_三级菜单的最快导航布局
  6. java xml接口实例化_Spring简介及xml配置
  7. jx8net一定在所有的方方面面都更坚强更勇敢了吧
  8. PS图片无损放大插件 Alien Skin Blow Up 3 for Mac
  9. 计算机二级C选择题精华
  10. 39、【华为HCIE-Storage】--对象存储原理
  11. 打不开malloc和free函数
  12. Java系列之—— getBytes() 方法
  13. 89c51c语言程序,AT89C51单片机流水灯c语言程序及详解
  14. 关于RPC框架封装时ThreadPool的选型和设计
  15. 致这一段无悔的大学青春
  16. bmp,jpg,png,tif,wmf,emf与eps图片格式转换
  17. UED上半年工作总结
  18. Python 爬取蜻蜓FM免费音频页面的音频
  19. 计算机考研复试操作系统题库
  20. 单片机重启或拔电依旧不能下载程序

热门文章

  1. 读书笔记:软件工程(1) - 软件工程概述(1)
  2. 软件测试的艺术-读书笔记-0
  3. 冒烟测试 SMOKE Test
  4. linux cpan 参数配置,Linux下使用CPAN进行Perl模块的安装
  5. 【论文阅读】DeepIM: Deep Iterative Matching for 6D Pose Estimation
  6. 企业微信应用获取code
  7. Problem G: 测量湖泊的平均水深
  8. 什么是作用域和作用域链以及闭包?
  9. idear怎么设置自动导包
  10. 模拟法-鸡兔同笼问题