在哪裡託管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服務一樣月租一台)