## 项目概况 此项目分为三个子项目 > 目录介绍 >> 1. 移动端 ---> 手机和微信小程序访问 >> 2. WEBPC管理端 ---> PC 管理端 >> 3. Java Api ---> 为移动端和后台提供Api ## 打包前环境准备 > 注意: >本地环境和开发工具 > jdk1.8 > node 14 > IntelliJ idea > Hbuilder x >这里默认你本地的 Maven 环境和 idea 的 lombok 插件已经安装了,如果导入后 get set 报错,请确认该插件已经正确安装 1. 一个主域名,3个子域名共计4个域名 2. 主域名用于访问移动端,子域名1用于访问后台,子域名2用于访问Java Api,子域名3用于图片资源访问 3. 举例4个域名,下文中会用此来代替 - 移动端 ---> https://www.app.com - PC 后台 ---> https://admin.app.com - Java Api ---> https://api.app.com - 图片资源 ---> https://image.app.com 4. 在宝塔上新创建4个静态站点 - 进入宝塔点击左侧网站,点击右侧添加站点,会弹出窗口,请按下图设置 - ![](https://img.kancloud.cn/12/f0/12f05c2f255dca0597a89c73f95570e1_641x569.png) - ftp此处可不创建,如果需要后面可以在ftp模块创建,注意ftp需要开启21端口 - 依照上图创建4个站点 - 站点里填写的域名是上面解析的4个域名,分别要对应好项目文件夹,图片和API可以根据网站分开也可以指向同一个域名 如果指向同一个建议向 api 靠齐 - 设置https证书,宝塔有免费证书可设置,在网站列表 - ![](https://img.kancloud.cn/aa/a9/aaa95fbdbf33837dcca7081ce81e08e5_1608x835.png) - 点击申请后会弹出窗口,有申请流程提醒,申请成功之后如下图操作, - ![](https://img.kancloud.cn/b0/3a/b03aa0ac8a540f35b2cb99cbcfcbf73f_699x636.png) - 站点https证书设置完成 5. Mysql数据库创建 - ![](https://img.kancloud.cn/c1/dc/c1dc9bf88cbdf89427ff11c4c59f3f19_1581x721.png) - 对应权限根据自己需求选择 6. ftp创建(可以不设置 只是为了方便部署) - 点击左侧ftp,点击右侧添加,会弹出窗口,请按下图设置 - ![](https://img.kancloud.cn/31/fb/31fbbd184cc20f16a117dfa3b82c1656_533x268.png) - 根目录指当前ftp账号可访问此目录下的所有文件夹以及文件 7. redis - 在宝塔 软件商店中搜索安装即可,密码设置 - ![](https://img.kancloud.cn/4f/07/4f075e585dd7ef305034a3ddbea978b5_2496x895.png) 8. 端口放行 - 点击左侧安全,点击右侧添加,会弹出窗口,请按下图设置 - ![](https://img.kancloud.cn/1b/6f/1b6f5333791b77964570f364ddc78855_2479x701.png) - 图片中每个人可根据自己的实际情况开启端口 - 必须开的端口 * 21 ---> ftp 端口 * 22 ---> ssh 端口,终端连接服务器使用 * 80 ---> web 服务访问端口 * 443 ---> https 访问使用端口,也是微信开放平台要求使用 * 3306 ---> 数据库Mysql端口 * 6379 ---> Redis端口 * 20000 ---> Java Api项目监听端口 ## Java 项目部署 1. 如下图所示执行打包后得到 Crmeb.jar - ![](https://img.kancloud.cn/59/18/59181dceaa2fd7afd26a1ecf1a8b2f7e_2478x1512.png) 2. 把Jar包上传到 api.app.com站点 - ![](https://img.kancloud.cn/47/c2/47c245c0293b44540f6ba5f7096dcbc1_1080x281.png) - ![](https://img.kancloud.cn/11/93/11931781a9ec3e55833e063fcf3bcc6a_1601x760.png) 3. 安装https证书 ----> 参考安装流程 打包前准备 第四条 4. 设置反向代理 目标url为 `http://127.0.0.1:20000` ![](https://img.kancloud.cn/21/1f/211f314a2ecbac28f0a3df8a0e985f63_706x726.png) 5. 上传crmeb目录下的 start.sh文件api.app.com站点下。和 Jar包在同级目录 - /start.sh 文件路径修改 - ![](https://img.kancloud.cn/bd/e6/bde6c341e0b0382f0bec26a76d1a9407_2522x1758.png) 6. 在 jar包同级目录下打开终端 运行 `start.sh (运行命令为 ./start.sh )` 脚本即可启动项目 7. 默认启动 `20000` 端口号 此端口号可以在配置文件里配置 - ![](https://img.kancloud.cn/b4/4e/b44ebae4c0ef75fa41893d63a0d047bc_961x850.png) 8. 访问已经启动且部署好的 java 程序域名 确认java 正确运行 swagger 登录口令在对应的环境文件中配置。 ## 部署admin子项目 1. WEB PC 管理端 **修改对应环境文件** - 同本地运行类似 确认修改配置环境中的 path 后 执行自己对应环境的命令 ![](https://img.kancloud.cn/08/90/089039b71230fd9ea616080b14dcfa51_1526x735.png) **打包命令** ~~~ npm run build:stage -- 打包测试环境 npm run build:prod -- 打包正产环境 ~~~ 2. 命令结束后,把对应 dist 文件夹下的所有文件上传到宝塔站点 admin.app.com 3. 素材文件,同本地运行一样,将资源文件上传到图片服务对应的目录下即可,首次素材加载会失败,登录进去修改文件上传对应的配置即可 4. 配置伪静态,修复刷新404的问题 nginx 配置文件,location配置需要针对自身环境修改 ~~~ location / { try_files $uri $uri/ /index.html; } ~~~ 宝塔伪静态配置 ~~~ location / { if (!-e $request_filename){ rewrite ^/(.*) /index.html last; break; } } ~~~ 如图 ![](https://img.kancloud.cn/91/6b/916b4fa18480ba8b3e672e0279800788_530x359.png) 提供默认图片素材 参见[图片素材导入 · CRMEB 单商户Java版 帮助文档](https://help.crmeb.net/crmeb_java/2327150) ## 部署移动端子项目 1. 移动端项目通过 Hbuilder X 打包H5,打包成功如下图 - 修改项uniapp项目根目录下config-->app.js中的doimain 为上一步java部署后的api域名 - ![](https://img.kancloud.cn/14/8a/148af094e59c97f700fc7d4ad2285d37_1144x725.png) 2. 点击图中红色区域打开打包后的 H5 文件夹,如果不能点击则需要手动找到对应目录 3. 打开H5目录 - ![](https://img.kancloud.cn/7a/30/7a3039363ab0ffe889c1934dac38fa43_247x134.png) 3. 把H5目录下的文件上传到 www.app.com目录下即可 ## 至此项目部署完成,可以一一访问确认一遍 移动端访问地址 www.app.com [示例地址,根据自己地址对应更改] 后台访问地址 admin.app.com [示例地址,根据自己地址对应更改] ~~~ 1. 登录账号 admin 2. 登录密码 123456 ~~~ 如果密码不正确可以 用次脚本重置admin 密码 [重置admin密码脚本获取](https://gitee.com/ZhongBangKeJi/crmeb_java/blob/master/crmeb/sql/%E9%87%8D%E7%BD%AEadmin.sql) 在整个打包和部署过程中 出现个别的问题可以在 [论坛中提问](http://bbs.crmeb.net/forum-122-1.html)