## 安装jdk
安装JDK,如果没有java-1.8.0-openjdk-devel就没有javac命令
```bash
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
```
## 编译打包项目
项目最终需要进行编译打包上传到服务器,生产环境上的配置与测试环境不同,需要独立配置一些东西,满足自己的需要
### 1. mall4j
1. 修改`yami-shop-admin\src\main\resources\application-prod.yml` 更改为生产环境的数据库账号密码,端口号等
2. 修改`yami-shop-admin\src\main\resources\logback-prod.xml` 修改里面的`PROJECT_PATH` 将`/opt/projects/yami-shops` 改为自己生产环境的项目路径
3. 修改`yami-shop-api\src\main\resources\application-prod.yml` 更改为生产环境的数据库账号密码,端口号等,还有目前项目推荐对`undertow`使用200线程的数量,用于支撑用户的并发请求,可以根据实际情况修改,既修改
```
undertow:
worker-threads: 200
```
4. 修改`yami-shop-api\src\main\resources\logback-prod.xml` 修改里面的`PROJECT_PATH` 将`/opt/projects/yami-shops` 改为自己生产环境的项目路径
5. 修改`yami-shop-api\src\main\resources\api.properties` 修改里面的`api.domainName` 为正式环境域名,这里的域名指的是你api项目的域名,因为收到微信的回掉是在这里配置的,否则无法收到微信支付回调,从而订单变为支付成功的状态,具体可以看【接口设计/订单设计-支付】这篇文章。
以上 1、2 工程目录为 `yami-shop-admin` 而 3、4、5 工程目录为 `yami-shop-api` 请注意区分
6. 修改完毕后打包,使用`mvn clean package -DskipTests` 命令进行打包,最终会生成很多的jar,我们需要其中两个。
- 商城后台接口 `yami-shop-admin\target\yami-shop-admin-0.0.1-SNAPSHOT.jar`
- 商城前端接口`yami-shop-api\target\yami-shop-api-0.0.1-SNAPSHOT.jar`
7. 将两个jar上传到centos环境中
8. 在生产环境中运行时候,需要使用`-Dspring.profiles.active=prod` 运行:
```bash
nohup java -jar -Dspring.profiles.active=prod "${jarPath}/${jarName}" > "${jarPath}/log/${moduleName}-console.log" &
```
- 替换`${jarPath}` 为`jar` 所在路径
- 替换`${jarName}` 为`jar` 所在路径
- 替换`${moduleName}` 为`admin`或`api`
9. 查看控制台日志输出
```bash
# 后台日志
tail -f ${PROJECT_PATH}/log/admin.log
# 前端接口日志
tail -f ${PROJECT_PATH}/log/admin.log
```
- 替换`${PROJECT_PATH}` 为`logback-prod.xml` 里面修改的`PROJECT_PATH` 路径
10. 使用nginx将请求指向特定的端口。
### 2.vue
vue项目的打包构建相对比较简单,但是要注意跨域的问题,相关可以查阅《nginx安装与跨域配置》这篇文章。
下面来说下步骤:
1. 修改`static\config\index-prod.js` 将`baseUrl` 改为接口的请求地址,并携带`/apis`的路径,方便修改跨域的配置
2. 使用 `npm run build` 命令对项目进行打包
3. 将步骤2中生成的`dist` 文件夹中的文件,压缩,上传到服务器,解压
4. 使用nginx指向上传解压好的目录
5. 输入域名即可访问
- 开发环境准备
- 基本开发手册
- 项目目录结构
- 权限管理
- 通用分页表格
- Swagger文档
- undertow容器
- 对xss攻击的防御
- 分布式锁
- 统一的系统日志
- 统一验证
- 统一异常处理
- 文件上传下载
- 一对多、多对多分页
- 认证与授权
- 从授权开始看源码
- 自己写个授权的方法-开源版
- 商城表设计
- 商品信息
- 商品分组
- 购物车
- 订单
- 地区管理
- 运费模板
- 接口设计
- 必读
- 购物车的设计
- 订单设计-确认订单
- 订单设计-提交订单
- 订单设计-支付
- 生产环境
- nginx安装与跨域配置
- 安装mysql
- 安装redis
- 传统方式部署项目
- docker
- 使用docker部署商城
- centos jdk安装
- docker centos 安装
- Docker Compose 安装与卸载
- docker 镜像的基本操作
- docker 容器的基本操作
- 通过yum安装maven
- 常见问题