精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

部署Node應用程序選擇Heroku還是Now.sh?

責任編輯:editor006

作者:鈺瑩

2017-11-08 16:19:31

摘自:it168網站

隨著Node js的不斷流行,新教程層出不窮,教程序員如何編寫服務器端JavaScript應用程序和API。應用程序的URL可以在控制臺日志中找到,有關部署或其他命令的更多常規日志可以在儀表板找到。

隨著Node.js的不斷流行,新教程層出不窮,教程序員如何編寫服務器端JavaScript應用程序和API。本文將介紹兩大用于部署Node應用程序的項目:Now.sh和Heroku。解釋如何將代碼部署到上述兩個平臺,在監控選項、易用性、提供的功能以及免費托管計劃方面各有哪些利弊。

用Heroku進行部署

為了能夠將應用程序部署到Heroku,程序員必須在Heroku上注冊并為機器安裝Heroku CLI。

開始之前,需要向Procfile添加一些代碼。因為,Heroku將利用這個文件來確定如何執行上傳的代碼。

如果將下面的代碼添加到文件中,Heroku就知道應該執行什么命令來啟動應用程序:

一旦完成,請嘗試通過從終端輸入heroku login的方式登陸,Heroku會要求輸入登錄憑證。

接下來,導航到項目的根目錄并輸入命令:heroku create。這將在Heroku上創建一個應用程序,該應用程序已準備好接收項目的源代碼。Heroku上的應用程序名稱是隨機創建的。

要將代碼部署到Heroku,只需使用git push heroku master。程序員可以使用heroku open命令來訪問應用程序,這將打開生成的URL。

推動對Heroku的更改

遵循正常的Github流程可以推動更改:

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

  有用的Heroku命令

要確保至少有一個應用程序實例在運行:heroku ps:scale web = 1

因為正在使用免費平臺,所以不可能擴展應用程序。但是,可以縮減比例,因此不運行的應用程序實例:heroku ps:scale web = 0。

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

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

Heroku提供了在本地//localhost:5000上運行應用程序的可能性:heroku local web

列出所有Heroku應用程序:heroku apps

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

添加所有者(帳戶)來訪問應用程序:heroku access:add [email protected],刪除heroku access:remove

Heroku環境變量

如果在本地使用.env文件,則可能需要為Heroku部署使用其他環境變量。可以使用heroku config來設置它們:heroku config:setPORT=3001.。這些值將覆蓋用戶在.env文件中設置的變量。

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

免費可用的版本

允許最多五個Heroku應用程序

512 MB RAM

不可升級可用,只可以同時運行一個應用程序實例

閑置30分鐘后進入睡眠狀態

隨機生成應用程序名稱

有關內存使用情況,響應時間和可用吞吐量的度量標準,但無法添加自定義度量標準

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

  使用now.sh進行部署

Now.sh著重于開發者體驗(DX),這是一種獨特的方式。他們試圖提供靈活的工具,使用起來非常簡單。Now.sh是Zeit.cowhich開發的一些工具的一部分。

為了簡單起見,我們將只通過npm安裝Now.sh CLI:

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

接下來,需要注冊以便可以在控制臺中使用。登錄和注冊都發生在login page。每次登錄時,都必須通過電子郵件驗證來確認登錄嘗試。 確認后,將被重定向到儀表板,程序員可以查看日志和部署。

現在開始使用,只需在控制臺中輸入now即可。控制臺將提示輸入電子郵件,填寫正確的電子郵件,并通過點擊驗證電子郵件。

登錄之后,讓我們來看看package.json中的啟動腳本。 Now.sh使用這個來啟動應用程序。這是scripts字段的樣子:

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

讓我們開始將代碼部署到now.sh. 確保在代碼示例的根目錄下。要開始部署過程,只需點擊now即可。我想你可以看到developer experience,一切都可以用一個關鍵字now執行!如果對應用程序進行更改,并且想要重新部署應用程序,那么只需在控制臺中點擊now即可。

應用程序的URL可以在控制臺日志中找到,有關部署或其他命令的更多常規日志可以在儀表板找到。

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

  定制和定義環境變量

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

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

程序員也可以通過CLI設置環境變量:now -e NODE_ENV =“production”-e PORT =“3001”。

如果想提供一個dotenv文件,可以設置選項--dotenv,如果想使用.env.production而不是.env?,可以考慮用--dotenv=.env.production來解決。最后,還可以將生產dotenv文件添加到你的package.json。

部署Node應用程序:一文看懂Heroku和Now.sh的最大區別!

  有用的Now.sh命令

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

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

刪除部署:now rm unique-code

強制新建(如有問題):now-f

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

監視日志

日志輸出可以通過以下命令獲取:nowlogs[deployment-url|deployment-id]。更高級的日志記錄也是可能的。

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

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

點擊Now.sh儀表板中的應用程序也可以訪問日志。

Now.sh的OSS計劃

OSS計劃可以免費使用,并提供以下內容:

帶寬:1GB

日志存儲高達100MB

無限的部署可能

并發實例限制為3個

不支持自定義域

最大文件大小:1MB

沒有自動擴展支持

比較

Heroku和Now.sh都提供了很好的功能。Now.sh通過提供易于使用的CLI更多地關注開發者的體驗。另一方面,Heroku更注重可視化的記錄,特別是用度量指標進行監控。

就個人而言,我更喜歡簡單的Now.sh,現在只需使用一個關鍵字now來進行(重新)部署。對于Node應用程序,我喜歡在.package.json文件中添加now屬性來自定義Now.sh部署。不需要像Procfile Heroku所要求的那樣添加額外的文件。

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

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 岚皋县| 成安县| 嘉定区| 台中县| 恭城| 木兰县| 漳平市| 云霄县| 页游| 墨竹工卡县| 启东市| 东海县| 离岛区| 安丘市| 扎赉特旗| 平舆县| 陈巴尔虎旗| 隆林| 砀山县| 乌鲁木齐市| 鄢陵县| 仪陇县| 波密县| 抚宁县| 出国| 遂昌县| 涡阳县| 奉新县| 厦门市| 莱阳市| 鞍山市| 天水市| 麻栗坡县| 北海市| 陆川县| 本溪市| 祁阳县| 宜宾县| 宜川县| 体育| 女性|