簡體   English   中英

如何安裝和部署node.js應用程序?

[英]How to install and deploy node.js application?

我是node.js的新手。 在使用express,測試, .nvmrc等創建模塊化項目之后,終於可以部署該應用了。 應該怎么做? 在Java中,您將項目捆綁到一個單獨的文件中,該文件包含自包含文件,並以某種配置將其放入服務器中。 那node.js呢?

我是否應該將帶有源代碼和node_modules的整個目錄復制到生產機器,並使用systemd,pm2或其他進程管理器來運行它? 但我聽說某些依賴項可能是系統依賴項,因此它們可能無法正常工作

還是應該僅復制源並在生產計算機上運行npm install --production 但是這種方式只有在npm存儲庫在線時才可以部署。 此外,構建應用程序還需要花費時間,並且必須在集群中的所有計算機上完成。 如果出現錯誤,如何快速回滾到以前的版本呢? 再次,需要時間和在線npm倉庫

另一個選擇是構建docker映像。 但是似乎很尷尬的是,輕松,安全地部署應用程序的唯一方法是使用第三方技術

在現實生活中如何進行?

確保不要復制整個目錄,尤其是node_modules。

系統上安裝的所有軟件包都應使用--save選項示例進行安裝: npm install --save express如果這樣做),則在package.json中將具有項目所需的依賴關系,無論它們是開發依賴關系還是生產依賴關系。

我不知道您的項目結構是什么樣子,但是作為節點應用程序,您必須運行npm init . 在項目中設置package.json文件,然后可以使用--save開始添加依賴項。

通常我們使用git

版本控制系統

要部署到服務器,首先我們將代碼推送到git存儲庫,然后將其從其拉到服務器git

您必須在項目中添加.gitignore,並忽略將node_modules提交到git存儲庫中。

然后您可以拉到服務器並在服務器上運行npm install 並確保您需要啟動Web服務器來服務您的應用程序示例ngnix

您可以嘗試使用Heroku進行簡單的部署,您要做的就是使用Heroku設置項目,並在推送代碼時由Heroku管理部署。 Heroku

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM