nodejs项目线上怎么运行?
PM2是Nodejs应用用于成产过程管理的内置负载平衡器。它能够让应用持续运行,0秒重载,并能够方便的进行常见的系统管理任务。

我们可以通过pm2部署nodejs线上项目,然后使用命令pm2 start pm2.json通过pm2配置文件启动运行nodejs线上项目。
通过pm2部署并运行nodejs线上项目的方法:
安装PM2指令
$ npm install pm2 -g
配置pm2.json
{
"apps" : [{
"name" : "www",
"cwd" : "/data/source/",
"script" : "bin/www",
"watch" : true,
"node_args" : "--harmony",
"merge_logs" : true,
"error_file" : "../logs/stderr.log",
"out_file" : "../logs/stdout.log",
"pid_file" : "../pids/child.pid",
"exec_mode" : "cluster_mode",
"instances" : 0,
"log_date_format" : "YYYY-MM-DD HH:mm Z",
"env": {
"NODE_ENV": "staging"
}
}]
}从在上面的package.json中我们制定了很多内容
name:设置当前项目在pm2中展示的名称
cwd:指定项目源代码位置
error_file:命令行错误输出
out_file:命令行输出
evn.Node_ENV:环境变量
通过pm2配置文件启动项目
start_node_project.sh
#!/bin/bash
#假设工程文件压缩包如下
tagname="project.zip"
#删除服务器发布目录源代码
cd /data/
rm -rf source/*
#解压工程压缩包到制定目录
unzip code/${tagname} -d source/将压缩包拼上时间后缀,移动到指定目录,用于版本回退
mv code/${tagname} code/project_date +%Y%m%d%H%M.zip
切换到工具目录
cd /data/deploy/
通过配置文件启动项目
pm2 start pm2.json
查看node进程
ps -ef|grep node
查看项目运行情况
pm2 list