node项目部署相关问题

  process.env

  process.env属性返回一个对象,包含了当前Shell的所有环境变量。

  通常的做法是,新建一个环境变量NODE_ENV,用它确定当前所处的开发阶段,生产阶段设为production,开发阶段设为develop或staging,然后在脚本中读取process.env.NODE_ENV即可。

  运行脚本时,改变环境变量,可以采用下面的写法。

$ export NODE_ENV=production && node app.js

  我的例子:

var config = {
    dev:{
        port:"4000",
        dir:'./widget'
    },
    production:{
        port:"4000",
        dir:'/export/www/static/promote/widget'
    }
};

// 通过NODE_ENV来设置环境变量,如果没有指定则默认为开发环境
var env = process.env.NODE_ENV || 'dev';

if (env == 'dev') {
    module.exports = config.dev 
    console.log('dev环境');
} else if (env == 'production') {
    module.exports = config.production;
    console.log('production环境')
} else {
    console.log("请注意,要传环境变量值,可选值:dev, production,反之默认为dev")
}

   上线好用的依赖pm2管理web服务进程,supervisor,nodemon监听代码更改自动重启服务器。

  

参考资料:

  把Node.js项目部署到阿里云服务器(CentOs)

  一种简单的生产环境部署Node.js程序方法

  node服务器部署

  如何在生产服务器上部署 Node.js 应用?

  博客迁移到NodeJS总结

  使用Node.js完成的第一个项目的实践总结

  node.js部署最佳实践

  阿里云主机Nginx下配置NodeJS、Express和Forever

  如何在生产服务器上部署 Node.js 应用?

  新浪云、阿里云、百度云、谷歌云、亚马逊云的区别是什么,哪个更适合国内创业者使用?

原文地址:https://www.cnblogs.com/pingfan1990/p/5024148.html