考试系统 2.0


如何部署

环境准备

环境要求

java 环境,jre>1.8
redis
mysql 数据库,版本 >= 5.7
nginx,建议最新的 stable 版本
文件服务,可选 minio

准备文件

init-mysql.sql 数据库初始化脚本
surveyking-server.2.0.0.jar 后端文件
surveyking-fe.zip 前端文件
application.properties,配置文件

初始化数据库

前端部署

# 将解压后的文件放到 nginx 的 html 目录
unzip surveyking-fe.zip

nginx 配置

server {
        listen      443 ssl;
        server_name pro.surveyking.cn;
        ssl_certificate /root/pro/ssl/pro.surveyking.cn_nginx/pro.surveyking.cn_bundle.pem;
        ssl_certificate_key /root/pro/ssl/pro.surveyking.cn_nginx/pro.surveyking.cn.key;
        ssl_session_timeout 5m;
        ssl_ciphers HIGH:!aNULL:!MD5:!3DES;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        location / {
            root   /usr/local/nginx/html;
            try_files $uri $uri/ /index.html;
        }

        # 二维码代理
        location /captcha {
          proxy_pass http://localhost:1991/captcha;
          set_real_ip_from 0.0.0.0/0;
          real_ip_header  X-Forwarded-For;
          real_ip_recursive on;
          proxy_set_header Host      $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          client_max_body_size 30m;
          proxy_http_version 1.1;
          proxy_set_header Connection close;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "Upgrade";
          proxy_send_timeout 1800;
          proxy_read_timeout 1800;
          proxy_connect_timeout 1800;

        }
        # 后端接口代理
        location /admin-api {
          proxy_pass http://localhost:1991/admin-api;
          set_real_ip_from 0.0.0.0/0;
          real_ip_header  X-Forwarded-For;
          real_ip_recursive on;
          proxy_set_header Host      $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          client_max_body_size 30m;
          proxy_http_version 1.1;
          proxy_set_header Connection close;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "Upgrade";
          proxy_send_timeout 1800;
          proxy_read_timeout 1800;
          proxy_connect_timeout 1800;
        }

    }

后端部署

# 启动后端服务
nohup java -jar surveyking-server.jar >sk.log 2>&1 &

配置文件修改

将 application.properties 文件与 surveyking-server.2.0.0.jar 放入同一目录,服务启动时,将自动读取配置文件信息。

spring.application.name=SurveyKing
# 后端端口
server.port=1991

# redis配置
# redis 服务器地址
spring.redis.host=127.0.0.1
# redis 端口
spring.redis.port=6379
# redis 数据库索引
spring.rdis.database=1

# 数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据库名称
spring.datasource.dynamic.datasource.master.name=surveyking-pro
# 数据库账号
spring.datasource.dynamic.datasource.master.username=root
# 数据库密码
spring.datasource.dynamic.datasource.master.password=123456

# 开启微信公众号
surveyking.oauth.wechat-mp.enabled=true
# 微信公众号 appid
wx.mp.app-id=xxxxxxxxxxxx
# 微信公众号 secret
wx.mp.secret=xxxxxxxxxxxx

# 滑动验证码右下角水印文字(我的水印)
aj.captcha.water-mark=卷王

安装 Java

Linux 上安装配置 Java 环境

下载 jdk1.8,可以去官网地址下载,也可以点击去百度网盘下载,下载得到文件 jdk-8u202-linux-x64.tar.gz。

# 第一步,下载完成之后将文件解压到 /usr/local 下面
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local

# 第二步,配置 java 环境变量,将下面这段配置追加到 /etc/profile
echo "JAVA_HOME=/usr/local/jdk1.8.0_202 
CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar 
PATH=\$JAVA_HOME/bin:/usr/local/nginx/sbin:/usr/local/git/bin:\$PATH 
export JAVA_HOME CLASSPATH PATH" >> /etc/profile

# 第三步,让配置生效
source /etc/profile

# 第四步,验证 java 是否配置成功,如果有输出 java 版本号,则表示配置成功
java -version

安装 mysql

Linux 上安装配置 mysql 数据库

离线安装 mysql

# 卸载原有的 mariadb
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs

# 下载安装包
# 根据操作系统和 glibc 的版本下载响应的安装包
ldd --version

tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

逐个安装,命令如下:

# 【必须安装】
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm

#【非必须安装】
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.16-2.el7.x86_64.rpm

导入数据库

-- 创建数据库
create database demo_db default character set utf8mb4 collate utf8mb4_unicode_ci;

-- 设置允许远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
UPDATE mysql.user SET host='%' WHERE user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx';

-- 导入数据库文件
mysql --user="root" --database="surveyking" --password="xx" < "/root/survey/reset-db/surveyking0728.sql"

安装 Redis

目前卷王 2.0 依赖了 Redis 作为缓存中间件,本文介绍如何安装、配置、启动 Redis。

Linux 上安装配置 Redis 服务

首先去 redis 官网下载 redis 安装包,下载地址,下载文件 redis-stable.tar.gz。

# 下载 redis
wget https://download.redis.io/redis-stable.tar.gz

# 解压并且编译 redis
tar -xzvf redis-stable.tar.gz
cd redis-stable
make

# 安装 redis-server 和 redis-cli 命令到 /usr/local/bin
make install

修改 redis.conf 配置,该文件默认在你解压的目录里面,下面介绍几个常用的配置

# 允许任意主机连接当前 redis,默认只允许本机连
bind 0.0.0.0

# 设置 redis 为后台启动
daemonize yes

# redis 默认是没有密码的,如果需要设置密码,修改如下参数
requirepass password

常用命令

redis-server
# 启动 redis 服务,使用指定配置文件
redis-server /etc/redis/redis.conf

# 关闭 redis,找到端口对应的进程号
lsof -i:6379
# 直接杀死该进程
kill -9 pid

Windows 上安装配置 Redis 服务

点击下载 redis windows 安装包,解压,运行 bin/redis-server.exe 配置文件同上。

宝塔部署卷王

# 部署后端
java -jar surveyking-server.jar --server.port=1993 --spring.datasource.dynamic.datasource.master.url=jdbc:mysql://127.0.0.1:3306/surveyking-pro --spring.datasource.dynamic.datasource.master.username=root --spring.datasource.dynamic.datasource.master.password=xxxx

# 部署前端

声明:我的生活记录|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 考试系统 2.0


道虽迩,不行不至;事虽小,不为不成