如何部署
环境准备
环境要求
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
# 部署前端
Comments | NOTHING