跳至主要內容

打包发布

黄健大约 4 分钟快速开始

部署方式说明

由于PageNow采用前后端分离式开发,生产环境下的部署方式有两种:

1、前后端分离式部署(无需配置反向代理)

2、将前端打包后的文件放入后端程序中,随后端应用一同部署并启动(此方式后续完善文档,我们已测试可行...)

相关信息

PageNow本身就是基于SpringBoot+Vue构建的单页面应用,部署方式与正常此架构下的部署方式基本无异

服务器配置要求

可在Windows环境和Linus环境下进行部署,不对服务器配置进行硬性要求,本身系统对服务器性能要求不高,一般情况下的配置均符合要求,理论上配置越高越好,而如果部署在外网,对服务器带宽则要求比较高,尽可能在5Mbp以上最佳。

运行环境要求

  • JDK 1.8+:不建议使用1.7以下版本
  • MySql:建议使用8.x以上版本,5.x也可以,不做硬性要求,如果使用其他的数据库作为系统主数据库,建议在开发环境下测试无误后使用
  • Redis:必须安装并启动,否则系统启动后,将无法正常进行用户登录等相关操作
  • Tomcat:首选推荐Tomcat作为前端应用的中间件运行环境,也可以使用Nginx,不推荐使用IIS作为前端应用的容器

数据库初始化

启动运行 中已经提供了数据库初始化文件的网盘下载地址,前往下载并初始化即可。

前端工程打包部署

注意

在static目录下还包含了config_prod.js文件,此文件类似于.env.production文件的效果,我们可以通过这两个文件区分开发环境和生产环境,打包后,系统会将自动使用config_prod.js文件中的内容去覆盖config.js文件,因为PageNow最终读取的始终是config.js这个文件中的AXIOS_BASE_URL变量去对接系统后端接口。

请使用如下命令进行打包发布:

yarn build

打包成功后,会在默认浏览器中弹出如下界面,表示成功完成打包:

Tomcat下部署

我们将打包出来的dist文件夹重命名为pagenow,此名称必须与项目中vue.config.js配置文件中配置的publicPath属性一致,之后拷贝到tomcat的webapps目录下(注意:不可将dist中的文件直接放在tomcat的ROOT目录下)。

由于项目使用了gzip资源压缩,为了获得更快的首屏加载体验,我们需要修改Tomcat的server.xml配置文件以支持gzip,配置所示:

<Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443"
   URIEncoding="UTF-8"
   compression="on"
   compressionMinSize="2048"
   noCompressionUserAgents="gozilla,traviata"
   compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain"
   useSendfile="false"
/>

之后启动运行Tomcat即可,访问地址按自己的环境而定,按照我们以上Tomcat的server.xml的配置,访问地址应该为:http://xxxx:8080/pagenow 端口是可以使用80的。

Nginx下部署

由于前端程序中的VUE路由模式使用的是history模式,且此模式不可修改,那么在Nginx环境下部署会出现设计器和发布的页面无法访问报404的问题,由于不同服务器环境下Nginx的配置不同,建议可以百度一下:vue采用history路由模式在Nginx下如何配置。

后端服务部署

启动运行 中已经讲解如何进行后端服务的启动,只是从开发环境变成生产环境而已,操作都一样。