溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

部署Node應(yīng)用程序選擇Heroku還是Now.sh

發(fā)布時(shí)間:2021-11-15 14:33:21 來(lái)源:億速云 閱讀:158 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“部署Node應(yīng)用程序選擇Heroku還是Now.sh”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“部署Node應(yīng)用程序選擇Heroku還是Now.sh”吧!

  用Heroku進(jìn)行部署

  為了能夠?qū)?yīng)用程序部署到Heroku,程序員必須在Heroku上注冊(cè)并為機(jī)器安裝Heroku CLI。

  開始之前,需要向Procfile添加一些代碼。因?yàn)?,Heroku將利用這個(gè)文件來(lái)確定如何執(zhí)行上傳的代碼。

  如果將下面的代碼添加到文件中,Heroku就知道應(yīng)該執(zhí)行什么命令來(lái)啟動(dòng)應(yīng)用程序:

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  一旦完成,請(qǐng)嘗試通過(guò)從終端輸入heroku login的方式登陸,Heroku會(huì)要求輸入登錄憑證。

  接下來(lái),導(dǎo)航到項(xiàng)目的根目錄并輸入命令:heroku create。這將在Heroku上創(chuàng)建一個(gè)應(yīng)用程序,該應(yīng)用程序已準(zhǔn)備好接收項(xiàng)目的源代碼。Heroku上的應(yīng)用程序名稱是隨機(jī)創(chuàng)建的。

  要將代碼部署到Heroku,只需使用git push heroku master。程序員可以使用heroku open命令來(lái)訪問(wèn)應(yīng)用程序,這將打開生成的URL。

  推動(dòng)對(duì)Heroku的更改

  遵循正常的Github流程可以推動(dòng)更改:

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  有用的Heroku命令

  要確保至少有一個(gè)應(yīng)用程序?qū)嵗谶\(yùn)行:heroku ps:scale web = 1

  因?yàn)檎谑褂妹赓M(fèi)平臺(tái),所以不可能擴(kuò)展應(yīng)用程序。但是,可以縮減比例,因此不運(yùn)行的應(yīng)用程序?qū)嵗篽eroku ps:scale web = 0。

  按照Heroku生成的時(shí)間順序查看最新的日志(流):heroku logs --tail

  可以只顯示應(yīng)用程序日志。應(yīng)用程序日志是代碼中console.log()語(yǔ)句的輸出,可以使用如下語(yǔ)句查看:heroku logs--source app-name

  Heroku提供了在本地//localhost:5000上運(yùn)行應(yīng)用程序的可能性:heroku local web

  列出所有Heroku應(yīng)用程序:heroku apps

  刪除部署:heroku apps:destroy--app app-name

  添加所有者(帳戶)來(lái)訪問(wèn)應(yīng)用程序:heroku access:add me@email.com,刪除heroku access:remove

  Heroku環(huán)境變量

  如果在本地使用.env文件,則可能需要為Heroku部署使用其他環(huán)境變量??梢允褂胔eroku config來(lái)設(shè)置它們:heroku config:setPORT=3001.。這些值將覆蓋用戶在.env文件中設(shè)置的變量。

  要查看所有定義的Heroku環(huán)境變量,只需使用heroku config。如果想刪除一個(gè)環(huán)境變量例如 PORT,使用heroku config:unset PORT。

  免費(fèi)可用的版本

  允許最多五個(gè)Heroku應(yīng)用程序

  512 MB RAM

  不可升級(jí)可用,只可以同時(shí)運(yùn)行一個(gè)應(yīng)用程序?qū)嵗?/p>

  閑置30分鐘后進(jìn)入睡眠狀態(tài)

  隨機(jī)生成應(yīng)用程序名稱

  有關(guān)內(nèi)存使用情況,響應(yīng)時(shí)間和可用吞吐量的度量標(biāo)準(zhǔn),但無(wú)法添加自定義度量標(biāo)準(zhǔn)

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  使用now.sh進(jìn)行部署

  Now.sh著重于開發(fā)者體驗(yàn)(DX),這是一種獨(dú)特的方式。他們?cè)噲D提供靈活的工具,使用起來(lái)非常簡(jiǎn)單。Now.sh是Zeit.cowhich開發(fā)的一些工具的一部分。

  為了簡(jiǎn)單起見,我們將只通過(guò)npm安裝Now.sh CLI:

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  接下來(lái),需要注冊(cè)以便可以在控制臺(tái)中使用。登錄和注冊(cè)都發(fā)生在login page。每次登錄時(shí),都必須通過(guò)電子郵件驗(yàn)證來(lái)確認(rèn)登錄嘗試。 確認(rèn)后,將被重定向到儀表板,程序員可以查看日志和部署。

  現(xiàn)在開始使用,只需在控制臺(tái)中輸入now即可。控制臺(tái)將提示輸入電子郵件,填寫正確的電子郵件,并通過(guò)點(diǎn)擊驗(yàn)證電子郵件。

  登錄之后,讓我們來(lái)看看package.json中的啟動(dòng)腳本。 Now.sh使用這個(gè)來(lái)啟動(dòng)應(yīng)用程序。這是scripts字段的樣子:

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  讓我們開始將代碼部署到now.sh. 確保在代碼示例的根目錄下。要開始部署過(guò)程,只需點(diǎn)擊now即可。我想你可以看到developer experience,一切都可以用一個(gè)關(guān)鍵字now執(zhí)行!如果對(duì)應(yīng)用程序進(jìn)行更改,并且想要重新部署應(yīng)用程序,那么只需在控制臺(tái)中點(diǎn)擊now即可。

  應(yīng)用程序的URL可以在控制臺(tái)日志中找到,有關(guān)部署或其他命令的更多常規(guī)日志可以在儀表板找到。

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  定制和定義環(huán)境變量

  定制Now.sh部署的一種方法是使用now.json文件。但是,由于已經(jīng)使用了package.json文件,因此可以在now鍵下添加所需的自定義。此配置允許自定義應(yīng)用程序名稱和別名,設(shè)置環(huán)境變量,指定部署類型并定義引擎。

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  程序員也可以通過(guò)CLI設(shè)置環(huán)境變量:now -e NODE_ENV =“production”-e PORT =“3001”。

  如果想提供一個(gè)dotenv文件,可以設(shè)置選項(xiàng)--dotenv,如果想使用.env.production而不是.env?,可以考慮用--dotenv=.env.production來(lái)解決。最后,還可以將生產(chǎn)dotenv文件添加到你的package.json。

  部署Node應(yīng)用程序選擇Heroku還是Now.sh

  有用的Now.sh命令

  可以為部署添加一個(gè)別名:now alias deploy-url aliasname

  列出所有部署與他們唯一的代碼:now ls

  刪除部署:now rm unique-code

  強(qiáng)制新建(如有問(wèn)題):now-f

  擴(kuò)展web應(yīng)用程序(免費(fèi)版最多3個(gè)):now scale deployment-url3。有時(shí),預(yù)測(cè)流量是不容易的。Now.sh允許設(shè)置自動(dòng)縮放比例的最小值和最大值:now scale deployment-url min max。

  監(jiān)視日志

  日志輸出可以通過(guò)以下命令獲?。簄owlogs[deployment-url|deployment-id]。更高級(jí)的日志記錄也是可能的。

  now logs-a-q"GET"-n10deployment-url:顯示包含單詞GET的10個(gè)最新日志。

  now logs--since=20171028:顯示2017年10月28日的所有日志(ISO 8601格式)

  點(diǎn)擊Now.sh儀表板中的應(yīng)用程序也可以訪問(wèn)日志。

  Now.sh的OSS計(jì)劃

  OSS計(jì)劃可以免費(fèi)使用,并提供以下內(nèi)容:

  帶寬:1GB

  日志存儲(chǔ)高達(dá)100MB

  無(wú)限的部署可能

  并發(fā)實(shí)例限制為3個(gè)

  不支持自定義域

  最大文件大?。?MB

  沒有自動(dòng)擴(kuò)展支持

  比較

  Heroku和Now.sh都提供了很好的功能。Now.sh通過(guò)提供易于使用的CLI更多地關(guān)注開發(fā)者的體驗(yàn)。另一方面,Heroku更注重可視化的記錄,特別是用度量指標(biāo)進(jìn)行監(jiān)控。

  就個(gè)人而言,我更喜歡簡(jiǎn)單的Now.sh,現(xiàn)在只需使用一個(gè)關(guān)鍵字now來(lái)進(jìn)行(重新)部署。對(duì)于Node應(yīng)用程序,我喜歡在.package.json文件中添加now屬性來(lái)自定義Now.sh部署。不需要像Procfile Heroku所要求的那樣添加額外的文件。

  這兩個(gè)平臺(tái)之間很難選擇, 但這只取決于你的喜好和需求。除了上述一些關(guān)于免費(fèi)版本可以獲得的支持,從易用性方面來(lái)說(shuō),Now.sh或許更棒!

感謝各位的閱讀,以上就是“部署Node應(yīng)用程序選擇Heroku還是Now.sh”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)部署Node應(yīng)用程序選擇Heroku還是Now.sh這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI