【发布时间】:2017-09-02 17:23:38
【问题描述】:
***我是nodejs的初学者,希望能给我一些建议,非常感谢:)
我有一台服务器来运行我的 nodejs 应用程序 (REST API)。
我的应用程序有两个环境(开发和生产), 我经常更新开发中的代码以进行测试, 完成开发后,我会将代码发布到生产环境中。
我在 nodejs 中使用 pm2 来运行应用程序。 这是我的 REST API 的文件夹结构
- restapi
- app1
- node_modules
- db.js
- .... index.js
这是我的问题: 为我的应用设置开发和生产环境的最佳方式是什么?
我有两个想法 想法 1: 将 prod 和 dev 分别放在两个文件夹中,都侦听相同的端口并作为单个服务运行 产品: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: 产品:www.xxx.com:8080/app/
开发者:www.xxx.com:8081/app/
作为两个服务运行,监听不同的端口。
在我的服务器中,我只需要分开两个文件夹:
开发
产品
我可以随时更改 dev 中的代码并重新启动应用程序,而不会影响 prod
【问题讨论】:
-
首先我想了解一下你们是如何对待开发环境和生产环境的?您是在不同的 git 分支上进行开发,还是制作了两个单独的文件来设置配置,例如 development.js 和 production.js ??
-
我建议为开发和生产服务器使用两个独立的端口。这将使事情变得简单和灵活。
-
@amanpurohit 我在不同的 git 分支、开发分支和 master 分支上进行开发,完成开发后,我将合并到 master 分支。合并后,我将转到我的服务器并 git pull 生产文件夹中的最新代码,然后重新加载我的应用程序。我有另一个文件夹是开发文件夹,我可以从开发分支 git pull 来做测试。
-
@OngKahKit 你在正确的轨道上。我也建议你以同样的方式。继续!
标签: node.js rest api express environment