安裝所需軟體/服務
- MySQL服務( 5.7.34)
- phpMyAdmin(5.1)
- PM2管理器(5.2)
- Nginx(1.19.8)
建立資料庫
-
上傳資料庫指令碼檔案
-
在寶塔皮膚中建立相應的資料庫
-
-
資料庫其餘操作過程省略不講(不是此次案例的重點內容)
解析域名
-
在購買的域名DNS解析管理進行二級域名解析
-
如果沒有就不做這個步驟
開放埠
-
開放該案例所需要的埠:80(前端)、3002(後端)(我以前有開放過80埠了)
-
雲伺服器控制檯開放所需要的埠(懶得換截圖了)
-
寶塔皮膚放行埠(懶得換截圖了)
商城後端伺服器專案部署
開啟寶塔皮膚首頁
雙擊PM2管理器進入管理列表
點選新增專案
配置啟動專案
-
啟動檔案:選擇需要啟動的檔案或者輸入指令碼執行命令
-
執行目錄:找到需要部署專案的根目錄
-
專案名稱:自定義即可
部署成功
商城前端專案(dist)部署
-
將打包構建好的dist檔案上傳到雲伺服器/www/wwwroot/ 檔案路徑下
-
將資料夾重新命名為:trading-platform(根據個人自定義操作)
進入網站管理-新增站點
配置站點資訊
建立站點成功
-
訪問對映的域名:shop.kim-shift.cn或者www.shop.kim-shift.cn
-
由於剛部署的前端是有vue構建打包的,而在開發環境配置的代理在生產環境(build構建的dist)是不生效的
-
開發環境代理的訪問地址均為404
Nginx反向代理配置
使用Nginx代理來解決前端無法有效訪問後端服務的問題,先部署好後端服務(不演示了),部署好後根據如下操作進行反向代理配置:
-
進入寶塔-網站-對應的網站點選設定
-
修改代理配置:新增在開發環境中對應的三個代理
-
/api ==>請求服務字首介面
-
/carousel ==>獲取輪播圖字首介面
-
/uploads ==>獲取上傳檔案字首介面
-
-
建立反向代理
-
開啟高階功能
-
代理名稱(可自定義)
-
代理目錄:對應需要代理的介面路徑
-
目標URL:所要代理到的後端服務
-
傳送域名:前端請求服務(預設即可)
-
/carousel 、/uploads 的代理配置與/api的操作一致(已省略)
-
-
配置完成
location ~* \.(gif|png|jpg|css|js|woff|woff2)$
{
proxy_pass http://127.0.0.1:3002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
expires 12h;
}
-
訪問網站: