在哪裡託管Node.js應用程式

Node.js應用程式可以在許多不同的地方託管,取決於您的需求。以下是您可以選擇的各種選項的列表。

我將從最簡單且受限制的選項開始列出,然後逐漸介紹更複雜且功能強大的選項。

最簡單的選項:本地隧道

即使您的IP地址是動態的,或者您在NAT下,您也可以使用本地隧道在計算機上部署您的應用程式並提供請求。

這個選項適用於快速測試、演示產品或與一小群人分享應用程式。

這方面非常好的一個工具是ngrok,它可以在所有平台上使用。您只需輸入ngrok PORT,您要公開的PORT就會進行連接。您會得到一個ngrok.io域名,但如果您支付了訂閱費用,您就可以獲得一個自定義的URL,以及更多的安全選項(請記住,您正在將您的機器開放給公共互聯網)。

另一個您可以使用的服務是localtunnel。

零配置部署

Glitch

Glitch是一個遊樂場和一種比以往更快地構建應用程式並在它們自己的glitch.com子域上實時查看它們的方式。目前您不能使用自定義域名,並且有一些限制,但這對於原型開發非常有用。它看起來很有趣(這是一個加分點),並且它不是一個簡化版的環境-您擁有Node.js的所有功能,CDN、安全存儲憑證、GitHub導入/導出等等。

由FogBugz和Trello背後的公司提供(也是Stack Overflow的共同創作者之一)。

我常常在演示中使用它。

Codepen

Codepen是一個令人驚奇的平台和社區。您可以創建包含多個文件的專案,並使用自定義域名部署它。

無伺服器部署

Serverless是一種發佈您的應用程式並完全不需要管理伺服器的範式,您可以將應用程式發佈為函數,它們在網絡端點上響應(也稱為FAAS-是一種“功能即服務”)。

兩個非常受歡迎的解決方案是

  • Serverless Framework
  • Standard Library

它們都提供了一個抽象層,用於在基於Azure或Google Cloud的AWS Lambda和其他FAAS解決方案上發布。

PAAS

PAAS代表Platform As A Service(平台即服務)。這些平台簡化了您在部署應用程式時需要擔心的很多事情。

Zeit Now

Zeit是一個有趣的選項。您只需在終端機中輸入now,它就會負責部署您的應用程式。有一個帶有限制的免費版本,付費版本更強大。您將忘記有一個伺服器存在,只需部署應用程式即可。

Nanobox

Nanobox

Heroku

Heroku是一個令人驚奇的平台。

這是一篇有關在Heroku上開始使用Node.js的很棒文章

Microsoft Azure

Azure是Microsoft的雲端產品。

查看如何在Azure上創建一個Node.js Web應用程式

Google Cloud Platform

Google Cloud是一個令人驚奇的應用程式結構。

他們有一個良好的Node.js文檔區

虛擬私有伺服器

在這一節中,您會找到一些常見的選擇,從較為用戶友好的到較少用戶友好的:

  • Digital Ocean
  • Linode
  • Amazon Web Services,特別提到Amazon Elastic Beanstalk因為它可以抽象出AWS的一些複雜性。

由於它們提供了一台空的Linux機器供您使用,這些都沒有特定的教學。

VPS類別中還有更多選項,這些只是我使用過並且可能推薦的選項。

裸機

另一種解決方案是獲取一台裸機伺服器,安裝Linux發行版,將其連接到互聯網(或者像使用Vultr Bare Metal服務一樣月租一台)