admin管理员组

文章数量:1532275

在linux中通过node app.js运行项目有时候需要使用到环境变量,在package.json中配置脚本命令(需要先使用npm install cross-env -g)

"scripts": {
    "dev": "cross-env NODE_ENV=development node ./app.js",
    "prod": "cross-env NODE_ENV=production node ./app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

但是会遇到持久运行的问题,一般可以通过pm2或者forever来持久运行,但是运行npm命令要配置环境变量,使用nohup运行,比较麻烦,参考如下:下图地址

这里介绍一个投机取巧的办法解决这个问题,直接在app.js第一行设置

process.env.NODE_ENV='production'
console.log(process.env.NODE_ENV)//终端打印的就是production,app后面所有的代码都能通过process.env.NODE_ENV获取到当前的环境

这样就可以直接通过pm2或者forever进行项目持久化启动了

下面介绍一下forever持久化启动node项目(需要先安装好nodejs):

1.使用node命令安装forever工具 npm install forever -g

2.在项目根路径启动项目 forever start app.js

3.关闭项目 forever stopall

4.其他forever命令:

forever start -l forever.log --minUptime 1000 --spinSleepTime 1000 server.js (node打印的日志输出到/root/.forever目录下的forever.log)

forever start -l forever.log -a --minUptime 1000 --spinSleepTime 1000 server.js (继续在forever.log后面append日志) 在/root/.forever目录找到forever.log即可查看日志

本文标签: 项目系统Linuxnode