打包发布

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 服务器,同样请设置绝对路径



注意事项: 如果只使用tomcat同时部署前后端,需要配置tomcat的虚拟映射路径(如果是nginx部署前端请忽略此配置,在nginx中配置)。 打开server.xml, 在<HOST></HOST>节点下添加虚拟映射路径 <Context docBase="/opt/jeeplusdir/userfiles/" path="/userfiles/" />,如果不添加则文件不可访问。

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 开启nginx压缩

  gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

注意,一定要配置userfiles,否则附件将不能正常显示。

        server {
        listen    80;
        server_name  xxxxxx.com;
        client_max_body_size 100m;
        
        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 ^~ /userfiles {
            proxy_pass              http://127.0.0.1:8080/jeeplus-vue/userfiles;
            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   /usr/share/nginx/html;
                index  index.html index.htm;
        }
    }