vue項目部署到阿里雲服務器(windows),Nginx代理!


項目構成:

前端: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的地址一定要是你后端監聽的地址端口,不然會報錯拿不到數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM