如何在服務器上部署一個前後端分離的項目並解決跨域問題

以後端爲spring-boot與前臺爲vue的項目舉例。

一.給服務器安裝相應的需求環境

1.安裝jdk

安裝方式可自行百度,推薦使用yum安裝,安裝完成後配置環境即可。

2.安裝nginx。代理服務器,安裝方式可自行百度,yum應該也是可以安裝的。

二.部署後臺代碼

1.這裏採用IDEA作爲開發工具,只要通過maven的打包操作package在target那裏找到jar包即可。

點擊package

複製那個jar包。

2.將jar包複製到服務器上任意目錄。

3.打開服務器控制終端,cd到jar包所在目錄。

運行java -jar XXXXXX.jar 即可。

當然這樣是沒法進行另外的操作除非退出來ctrl+C,可以加個停止符號。

java -jar XXXXXX.jar &即可。

三.運行sql文件。

在服務器上安裝並啓動mysql服務,具體可自行百度。

然後進入mysql,將項目的sql文件放入服務器並運行即可。

需要注意的是。mysql在linux下和windows下有所區別,它的數據庫名是區分大小寫的,記住你的數據庫名要和你後臺代碼中alidruid的jdbc配置要完全相同。

四.部署前端項目。

1.先進入本地的前端項目,打開config/index.js

配置assetsPublicPath這個屬性值爲‘/’注意這個屬性值要出現兩次,需要更改兩次。

同時記住dev配置下的proxyTable屬性,即後端接口端口的別名,我這裏是/api/


2.這裏是webpack打包的,打開控制檯。

cd到本地的項目目錄下。

運行npm run build。

在本地前端目錄下可以看到多了一個dist文件夾,複製它。

3.把dist文件夾複製到服務器上的任意目錄。


4.配置nginx配置使其指向你前端的端口。

A.cd進nginx的配置文件處


將nginx.conf和nginx.conf.default兩個文件內的配置內容給註釋了,即每行前面加#,使用vim。

然後在conf.d下面新建一個配置文件。


如圖所示,vi這個文件。


輸入如圖所示的文件配置



其中要注意的是。listen後面跟上你所部署的前端端口。

location後面配置上你所部署的前端靜態文件後面所在的具體目錄注意root 後面的屬性一定要是dist的絕對路徑。

後面的一堆addheader可以不加。最後還有個location  /api 這裏的api要看你後端接口的路徑具體別名。proxy_pass要看你後臺的端口號。

這裏一定要加,不然前端無法調用後臺的相應接口。

這裏是在用nginx進行反向代理解決跨域問題。

五.訪問部署好的網站。

將原來本地訪問的localhost改成你的服務器的IP地址名即可。

如果出現了404的問題,根本原因肯定是跨域問題,即nginx沒有配置好。

如果出現了403的問題,根本原因肯定是config.js的問題或者nginx的location裏沒有指向正確的dist路徑。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章