2017-09-02 68 views
0

***我的的NodeJS一個初學者,希望能給我一些建議,謝謝你這麼多:)PROD和開發環境的NodeJS

我有一臺服務器來運行我的應用程序的NodeJS(REST API)。

我的應用程序有兩種環境(開發和生產), 我更新的發展相當頻繁做測試, 後,我完成開發的代碼,我會發布的代碼到生產。

我在nodejs中使用pm2來運行應用程序。 這裏是我的REST API的文件夾結構

  • RESTAPI
    • APP1
    • node_modules
    • db.js
    • .... index.js

這是我的問題: 爲我的應用程序設置開發和生產環境的最佳方式是什麼?

我有兩個想法 理念1: 認沽PROD和DEV獨立的兩個文件夾,無論是聽同一個端口和運行單服務 PROD:www.xxx.com:8080/app_dev/ 開發: www.xxx.com:8080/app_prod/

  • RESTAPI
    • app_dev
    • node_modules
    • db.js
    • ....
    • app_prod
    • node_modules
    • db.js
    • .... index.js

理念2: prod:www.xxx.com:8080/app/

dev:www.xxx.com:8081/app/

作爲兩個服務運行,偵聽不同的端口。

在我的服務器,我只需要單獨的2文件夾:

  • 開發

  • 督促

我可以隨時更改代碼在開發中,並重新啓動應用程序,從不影響產品

+0

首先,我想了解你如何對待開發環境和生產環境?你正在開發不同的git分支,還是你製作了兩個單獨的文件來設置配置,如development.js和production.js? – amanpurohit

+0

我建議爲開發和生產服務器使用兩個單獨的端口。這將使事情簡單而靈活。 – abskmj

+0

@amanpurohit我開發不同的git分支,開發分支和主分支,完成開發後,我將合併到主分支。我合併後,我會去我的服務器和git拉生產文件夾中的最新代碼,然後重新加載我的應用程序。我得到另一個文件夾是開發文件夾,我可以從開發分支git拉做測試。 –

回答

0

如果您想將您的應用程序部署到公共Web主機噸,可能會採取更多步驟。你可以看看this guide,它提出了一個使用Heroku的部署解決方案。