打包发布

1. tomcat部署

一、 后台工程 jeeplus-vue 打包

1 修改application-production.yml文件

1.1 修改数据库连接为线上服务器的数据库连接

      datasource:
        master:
          username: root
          password: root
          url: jdbc:mysql://127.0.0.1:3306/jeeplus?useUnicode=true&characterEncoding=utf-8&useSSL=false&nullCatalogMeansCurrent=true&serverTimezone=GMT
          driver-class-name: com.mysql.cj.jdbc.Driver

1.2 修改log级别为ERROR

logging:
  level:
    root: ERROR
    #    org.flowable: ERROR
    com.jeeplus: ERROR
    org.apache.shiro.cache.ehcache.EhCacheManager: ERROR

1.3 上传文件路径设置

userfiles.basedir: /opt/jeeplusdir           //设置linux上的实际路径,如果是windowsserver 服务器,同样请设置绝对路径

2 修改 application.yml文件 切换配置为生产环境配置

spring:
  profiles:
    active: production

3 打包

首先 ,在根目录jeeplus-vue目录下,执行install

然后,在jeeplus-web目录下,执行package

在jeeplus-web目录下的target目录下会生成一个jeeplus-vue.war文件,这就是后台部署程序。

二、前台工程jeeplus-ui打包发布

进入jeeplus-ui根目录

1 先执行cnpm install命令。

2 打开.env.production文件,进行生产环境配置

# 生产环境配置
ENV = 'production'

#Jeeplus快速开发平台/后台地址
VUE_APP_SERVER_URL = 'http://xxxx/jeeplus-vue'

3 在jeeplus-ui目录下,执行打包命令:npm run build, 生成一个dist目录就是前台的部署程序。

三、线上部署。

本简化版本部署方案只使用tomcat + mysql。

1 在linux服务器上,安装tomcat,mysql。

2 设置mysql数据库不区分大小写。 Linux 系统默认情况下MySQL数据库是区分大小写的;因此要将mysql设置成不区分大小写,在/etc/my.cnf 配置后面加上一行(0:大小写敏感;1:大小写不敏感)

lower_case_table_names=1

最后重启一下MySql服务即可

3 用utf8编码在服务器上创建jeeplus数据库,并执行jeeplus.sql脚本将数据导入。

CREATE DATABASE  `jeeplus`  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
use jeeplus;
source jeeplus.sql;

4 将dist目录下的前端部署程序(不包括dist目录)拷贝到tomcat的webapps/ROOT目录下。

5 将jeeplus-vue.war拷贝到tomcat的webapps目录下。(注意后台的访问路径应该和.env.production中配置的jeeplus后台访问路径完全一致)

6 如果你使用了redis缓存,请启动redis服务器,没使用请跳过。(在application.yml中默认配置使用了ehcache缓存,你可以切换成redis缓存)

7 启动tomcat。

注意:如果你部署在公网,强力推荐使用cdn对前端资源进行加速,可以大大提高用户首次访问系统的速度。

2. nginx+tomcat部署

你可以分开部署jeeplus-vue后端程序和jeeplus-ui前端程序。

后端部署在tomcat请参照章节1.

本部分讲解如何将jeeplus-ui部署在nginx。

1 拷贝dist下的内容到nginx目录下的html目录下。

2 nginx配置

nginx配置, 打开conf/nginx.conf

server {
		listen    80;
		server_name  xxxx.com;
		location ^~ /jeeplus-vue {
			proxy_pass              http://127.0.0.1:8080/jeeplus-vue/;
			proxy_set_header        Host 127.0.0.1;
			proxy_set_header        X-Real-IP $remote_addr;
			proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
		}
		location / {
			root   html;
			index  index.html index.htm;
			if (!-e $request_filename) {
				rewrite ^(.*)$ /index.html?s=$1 last;
				break;
			}
		}
	}