記一次完整的新浪雲部署nodejs項目上線完整流程及填坑處理!

工欲善其事,必先利其器。在開始本次部署新浪雲nodejs項目之前,請先做好以下準備工作:

1.註冊一個新浪微博賬號!
2.使用註冊好的新浪微博賬號,登錄新浪雲網站:http://www.sinacloud.com/public/login/inviter/gaimrn-mddmzeKWrhKW7roB4gWZ_eIVrfrKydg.html
3.在你的計算機上安裝git,如何安裝請參考廖雪峯老師的git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
4.請確定你的項目已經調試好,能夠正常運行!
5.準備好你的數據庫文件。


這裏我假設大家已經完成了以上5步,正式開始線上項目的部署!
1.登錄進入新浪雲網站之後,系統一般會推薦你實名認證,如果是正常認證需要至多3天時間,加急認證是2小時之內,不過似乎要額外付費,大家正常認證即可。
在這裏插入圖片描述

提交認證資料之後就不用管它了,等它自己認證通過。在認證通過之前,如果別人訪問你的線上項目是會提示該網站未經認證,請謹慎訪問。


2.點擊左上角的控制檯,在彈出的下拉菜單中選擇雲應用SAE。
在這裏插入圖片描述


3.進入雲應用SAE之後,點擊創建新應用。這裏我已經創建好了一個應用,如果大家是第一次使用是沒有下方的應用信息的。
在這裏插入圖片描述


4.中間會彈窗一個什麼規範信息,確認之後繼續創建,選擇nodejs開發語言,環境配置和示例個數根據自己的情況來。因爲這裏我只需要作爲一個示例,所以都選擇最低的標準,可以看到價格是0.03元/小時。一定要填寫應用信息,二級域名那裏就是以後訪問的域名。
在這裏插入圖片描述


5.確認創建之後,會返回應用管理界面。在代碼管理界面,我們可以看到非常重要的信息,系統分配給你的新浪雲git倉庫信息。
在這裏插入圖片描述


6.新浪雲的操作先告一段落。接下來我們在電腦上新建一個空的文件夾,用來存放你的項目文件。
爲什麼不直接使用已有的項目文件夾呢 ?因爲萬一你操作失誤,把項目給毀了我可不負責的。
在這裏插入圖片描述


7.打開cmd,進入到當前目錄下。使用git init 初始化當前文件夾。
成功之後可以看到自動建立了一個隱藏文件夾.git,這是git的版本管理倉庫,千萬不要刪除和修改裏面的文件。想詳細瞭解這塊知識的請移步廖雪峯老師的git教程,鏈接在最前面。
在這裏插入圖片描述

8.然後將你的項目代碼全部移動到該目錄下,注意不要node_modules文件夾,哪怕它再小,不要,不要,不要!
第一:因爲我們需要檢查一下你的package.json中是否已經完整的記錄了運行該項目所需要的所有依賴模塊。
第二:因爲項目部署上線的時候,是不能上傳node_modules文件夾的,新浪雲的服務器會自動根據你的package.json中的dependencies來創建node_modules文件夾。
在這裏插入圖片描述

9.如果能夠確保自己的項目中package.json完整的記錄了所有依賴模塊,那麼這一步可以跳過不看。如果不確定的同學們,請在該目錄下,打開cmd,運行npm i,系統會根據package.json文件自動生成 node_modules依賴包。

npm i

在這裏插入圖片描述

然後請確認依賴安裝完畢之後,你的項目是否能夠正常運行。如果能,說明你的package.json沒問題,如果不能運行,那麼請根據項目報錯原因,查找缺少哪個模塊,然後使用 npm i --save 包名稱 ,這樣會將安裝的包記錄在package.json中。直到項目運行成功,package.json文件完整無誤爲止!這裏一定要弄清楚,否則項目根本無法上傳。
在這裏插入圖片描述


10.配置package.json文件。
首先將你的服務器入口文件名稱改爲index.js,然後在package.json中,指定你開發項目時所用的nodeJS版本,如果不指定,那麼新浪雲服務器會按照最高版本的nodeJS來運行,很可能會導致後面的鏡像文件配置失敗,
在這裏插入圖片描述

然後在scripts中設置start啓動命令,node index.js
在這裏也可以看到你的項目依賴哪些模塊。
在這裏插入圖片描述


11.將你項目中服務器的監聽端口改爲5050,因爲新浪雲的服務器運行端口是5050
在這裏插入圖片描述


12.請確保此時你能夠正確運行 npm install命令 和npm start命令,如果是cmd命令行工具應該可以兩條命令一起執行:
npm install && npm start,如果是Powershell則只能分開運行。運行後可以先看看你的項目服務器是否運行正常,通過網絡地址查看一下項目文件或者圖片,能看得到就說明沒問題。
確定項目代碼沒有問題了,請一定記得刪除node_modules文件,刪除node_modules,刪除node_modules,刪除node_modules。否則後面會報錯,如果只看報錯提示是很難找到錯誤根源的。

在這裏插入圖片描述


13.修改數據庫鏈接文件,因爲新浪雲使用的數據庫信息和你本地使用的不一樣。這裏我修改的是pool.js
在這裏插入圖片描述
這裏的信息需要登錄你自己的新浪雲數據庫後臺查看,如果沒有創建過新浪雲數據庫的同學,請跟着下面的步驟一起創建一下,先回到新浪雲的應用管理後臺。

一張圖勝過千言萬語,直接看圖吧。
在這裏插入圖片描述

點擊創建
在這裏插入圖片描述
點擊確認。等待系統初始化。

在這裏插入圖片描述
點擊紅框處的管理,進入數據庫管理後臺。
在這裏插入圖片描述

點擊選擇文件,導入你的sql數據文件,然後右下角執行。
等待片刻,導入完畢,可以看到你的數據庫數據了。
在這裏插入圖片描述
回到應用管理後臺,點擊 共享型MySQL,點擊詳情。在這裏插入圖片描述

在這裏你就可以看到端口號,主庫地址,數據庫名稱,用戶名稱,密碼等連接數據庫必備的信息。填到前面你的數據庫鏈接文件中即可,這裏我修改的是pool.js。
在這裏插入圖片描述
這一塊似乎好長,真是累。不過快了。


14.回到你的電腦,在之前打開的cmd中,運行以下命令:
git remote add sae +你之前看到的git倉庫地址!在第5部的時候有提到過!

git remote add sae https://git.sinacloud.com/onekeyy

在這裏插入圖片描述

然後輸入git remote,查看遠程庫的名稱是否爲sae
在這裏插入圖片描述


15.輸入git add . 將目錄下所有文件添加到倉庫,
在這裏插入圖片描述

然後輸入git commit -m “this is my first project”,將剛剛添加的文件提交到本地的git倉庫(對,就是前面不要你刪除修改的那玩意),後面雙引號中的內容爲對本次提交進行的備註。
在這裏插入圖片描述
你會看到N多文件被提交上去了,那些就是你的項目文件。


16.差不多到最後了,將本地倉庫提交到遠程sae倉庫中。
輸入git push sae master
這時系統會彈窗要求你輸入用戶名和密碼,有些版本不會彈窗,要求你直接在cmd中輸入用戶名和密碼。
這裏因爲我已經輸入過了,所以不會再要求輸入了。在這裏插入圖片描述

你問用戶名和密碼是什麼?
就在前面第5部中提到的git倉庫信息,上面有你的用戶名,密碼就是你註冊時填寫的安全密碼!
如果看到以下界面,那麼恭喜你已經部署成功了!!
在這裏插入圖片描述

如果你出現以下錯誤:
error: RPC failed; curl 55 SSL_write() returned SYSCALL, erWfrno = 10053
atal: the remote end hung up unexpectedlyB | 2.00 KiB/s
在這裏插入圖片描述
那麼仍然要恭喜你,因爲這個坑已經被我填上了,你不用再東翻西找了!
出現該問題的原因是你git提交的時候將node_modules也上傳了,要麼建立.gitignore文件,提交的時候忽略node_modules文件夾。要麼就乾脆直接刪了node_modules,我似乎囉嗦了很多遍?
因爲這個問題我查找了n多資料,問了n多人,最後還是新浪客戶給我的回覆解決了問題。笑哭。客服關鍵時候還是很給力的 ,而且那麼晚了還在加班,確實不容易,一個大大的五星好評。
在這裏插入圖片描述


17.至此,新浪雲部署nodeJS項目已經結束了,打開應用管理後臺,點擊容器管理,可以看到你的項目實例。打開控制檯應用管理,可以看到你的項目網址。
在這裏插入圖片描述

在這裏插入圖片描述

嘗試一下訪問靜態資源目錄中的圖片,可以訪問!
在這裏插入圖片描述

結語:

終於寫完了,真的好累。由於我的項目是前後端完全分離的,所以細心的同學應該可以發現,這裏上傳的其實只是服務器端代碼,如果大家的前後端代碼是在一起的,那麼前端代碼放在靜態資源目錄下面就可以了。如果前端代碼不想和服務器端代碼放在一起,那麼請看下集【記一次完整的阿里雲虛擬服務器的上傳前端代碼經歷(填坑)】和【新浪雲部署中如何修改已經上線的代碼NodeJs版】
鏈接…等我寫好了再發出來。

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