## 安裝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
- 常見問題