專案構成:
前端:vue+vant-ui,
資料庫:mysql,
後端:node.js
部署方式:nginx代理;
一,首先要擁有自己的伺服器,阿里,騰訊都可以,我用的是阿里的;
如果只是做個人專案的話,建議最便宜的就行,當然,如果你是土豪,當我沒說;
直接點選購買,會彈出如下框:
作業系統的話我推薦小白選windows吧,畢竟比較簡單;
購買完成後,會跳到例項介面,也就是你的伺服器例項,
然後建議先停止執行,改密碼後再重啟,
重啟後,按下win+r,輸入mstsc, 遠端連線你的伺服器;
地址就是你的伺服器的公網地址,
使用者名稱windows系統的是Administrator
密碼是你自己設定的密碼,
點選確定後,就進入伺服器端了
開啟瀏覽器,下載nginx;
下載NGINX for Windows
下載地址:http://nginx.org/en/download.html;
下載好了,直接全部解壓,注意路徑別帶中文,不然啟動nginx時會報錯。
接著,先不用管伺服器,去打包專案,npm run build;
跑完後,會在你的專案裡生成一個dist資料夾。
然後把dist資料夾傳送到你的伺服器上,放在html這個資料夾內
怎麼傳送,具體自行百度,(CV)好像也可以,我記得,不行的話就百度吧。
接著回來修改conf資料夾下的nginx.conf檔案,也就是配置nginx;
注意:坑來了:複製這個地址後,你得到的地址是這樣的:C:\ngx\nginx-1.20.2\nginx-1.20.2\html\dist,
所有‘\’一律要改為‘\\’因為‘\’會轉義,改為如上圖所示;
還有記得把 nginx.conf裡的
完成了以上工作後,回到這個假面
點選ndinx.exe,開啟,你會發現只是一閃而過,別在意,nginx啟動就是這樣的
我們可以在工作管理員檢視有沒有啟動;
只要看到這個就說明啟動成功了,嘿嘿
接著,回到你的阿里雲控制檯,例項這裡去配置安全組,也就是開放你的埠,讓外網能夠訪問。
點選手動新增,新增8080埠;,儲存。
然後重啟nginx;
然後再瀏覽器輸入:http://114.55.225.****:8080/ (你的伺服器地址) ,就i可以看到你的前端頁面了,哈哈,沖沖衝,就快成功了
這時只能看到前端頁面,因為後端和資料庫都還啟動呢
為了方便,我是用的xmapp
啟動mysql,匯入你的資料庫,mysql -uroot< 資料庫檔名
接著,修改你的後端服務的地址
啟動後端服務,直接,node ./app.js
啟動成功!
伺服器埠:
資料庫埠:
然後,去剛剛安全組的哪裡繼續配置新增安全組,把這倆埠都新增進去;
瀏覽器輸入:http://114.55.225.****:8080/ 伺服器地址,會發現報跨域的錯,這時候做nginx跨域處理了
在nginx.confserver里加入:
nginx跨域處理:
# #設定跨域配置 Start
set $cors_origin "";
if ($http_origin ~* "^http://api.xx.com$"){
set $cors_origin $http_origin;
}
add_header Access-Control-Allow-Origin $cors_origin always;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS always;
add_header Access-Control-Allow-Credentials true always;
add_header Access-Control-Allow-Headers DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token always;
add_header Access-Control-Max-Age 1728000 always;
# 預檢請求處理
if ($request_method = OPTIONS) {
return 204;
}
儲存,重新啟動nginx.exe
返回瀏覽器,重新整理頁面:
噹噹噹,大功告成!
注意哈:前端axios的地址一定要是你後端監聽的地址埠,不然會報錯拿不到資料。