正式发布

标准配置

正式环境前后端分离运行,便于项目更新和扩展,是生成环境的建议配置。

部署说明

众所周知,JAVA项目支持跨平台,各个平台部署项目的方法大同小异,先安装基础环境、上传项目、配置系统,本文说明基于Linux环境部署,其它环境部署也可参考本文档

环境准备

JDK 1.8 
MySql 5.7+ 
Redis 4.0+
Nginx 1.17+

安装好以上环境,并确定运行正常

上传部署资源包

# 数据库脚本
db.sql

# 后端项目
yf-boot-api.jar

# 后端外挂配置文件
application-local.yml

# 前端项目压缩包
dist.zip

本文将以上资源包上传到正式服务的/data/run/目录下,并开始部署

导入数据库

使用以下命令,创建数据库并导入初始化脚本

# 创建数据库并指定字符集
create database yf_boot default character set utf8mb4 collate utf8mb4_general_ci;

# 执行导入数据库脚本
source /data/run/db.sql

运行后端项目

后端项目,我们采取外挂配置文件application-local.yml方式运行,便于维护和修改配置,而不需要重新打包,修改此配置文件为正式服的真实配置保存,再运行后端项目,命令如下:

nohup java -jar /data/run/yf-boot-api.jar --spring.config.location=/data/run/application-local.yml&

使用nohup和&保证项目能后台继续运行,为了方便管理进程,您可以使用supervisor进行进程管理,后续我们也会发布相应配置文档

解压前端并配置Nginx

将前端项目dist.zip解压

cd /data/run/
# 解压项目,如果unzip命令不存在,可以使用```yum install unzip```先安装
unzip dist.zip

配置Nginx,创建文件:/etc/nginx/conf.d/yf-boot.conf

server {
        listen       80;
        server_name  demo.jeegen.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        client_max_body_size 200m;
        
        # 根目录为前端静态文件路径
        location / {
            root /data/run/dist;
            try_files $uri $uri/ /index.html last;
        }
        
        # 接口api开头及文件下载直接代理到后端处理
        location ~/(api/|upload/file/){
            proxy_pass http://localhost:8080;
        }
}

扩展阅读,如今https已经成为网站标配、关于https配置,可以自行百度

访问项目

浏览器输入您配置的域名或者端口,进行访问,一切正常则表示配置成功

快速配置

快速配置的目的是将项目快速运行起来,将前后端打包在一起,不需要复杂的配置即可将项目运行起来,操作步骤为:

打包前后端一体的包

将前端打包好的dist文件夹下面的内容全部复制到/yf-boot-api/src/main/resources/static,目录结构如下:

/yf-boot-api/src/main/resources/static/index.html
/yf-boot-api/src/main/resources/static/static
/yf-boot-api/src/main/resources/static/...

运行项目

将前后端一体包上传到服务器,执行标准部署中的导入数据库结构、修改配置文件,直接启动项目即可,无需配置Nginx

nohup java -jar /data/run/yf-boot-api.jar --spring.config.location=/data/run/application-local.yml&

访问项目

可以使用IP+端口的方式访问项目,如:http://IP地址:8080