文章目录
一、node环境部署
1. node包下载
// 获取node包,注意最近打开node官网或者npm 官网都存在超时等问题,大家可以直接使用wget 命令获取,获取路径参考以下命令(版本可以替换成你自己的开发环境一致的node版本就行)
wget https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.xz
2. 解压node包创建 node与npm 软连接
// 命令示例
// 解压xz 包
xz -d node-v16.13.2-linux-x64.tar.xz
// 解压tar包
tar -xvf node-v16.13.2-linux-x64.tar
// 创建 node 软连接 注意ln 命令中的路径均为绝对路径不可用相对路径,可能导致link失效
ln -s /home/share/node-v16.13.2-linux-x64/bin/node /usr/local/bin/node
// 创建 npm 软连接
ln -s /home/share/node-v16.13.2-linux-x64/bin/npm /usr/local/bin/npm
3. 测试node 与npm 是否配置好
// 查看node 是否安装好,如果能看到相应的版本代表已经成功
node -v
// 查看npm 是否安装好,同上
npm -v
二、pm2 安装与软连接配置
1. pm2安装
// 全局安装pm2,这里如果安装超时,可以把镜像改成淘宝镜像获取
npm install pm2 -g
2. pm2软连接建立
*注意查看我们的下载解压后的node/bin 目录下是否有pm2,参考如下
// 这里操作其实和node 配置一样,我们配置的时候查看下,pm2 是否安装好,如果已经安装好,则进行
ln -s /home/share/node-v16.13.2-linux-x64/bin/pm2 /usr/local/bin/pm2
3. 测试pm2是否已经配置好
pm2 -version
三、node项目 pm2配置添加
1. node项目中添加pm2.conf.json配置文件,注意这个文件创建的目录与我们项目的package.json 同层级
// 配置参考如下
{
"apps": {
"name": "service-name", // 服务名称
"script": "./bin/start.js", // 项目启动入口
"watch": "true", // 是否监测
"ignore_watch": [ // 忽略文件
"node_modules",
"logs"
],
"instance": 2, //进程实例
"error_file": "logs/err.log", // 错误日志输出文件
"out_file": "logs/out.log", // 服务日志
"log_date_format": "YYYY-MM-DD HH:mm:ss" // 日志输出时间格式
}
}
2. package.json 添加pm2启动执行脚本
"scripts": {
"start": "node bin/start --watch",
"prod": "NODE_ENV=production pm2 start pm2.conf.json",
"test": "echo \"Error: no test specified\" && exit 1"
},
四、运行项目
由于我上面用的是prod 启动脚本,所以我们执行
// 在当前node项目目录下,执行命令
npm run prod
五、常用pm2 命令
// 通过上述操作,不出意外,我们已经把服务启动好了,
// 查看pm2 守护项目列表,
pm2 list ```
// 重启服务,这里的服务名称,对应的就是我们pm2配置文件中的 name属性所对应的值
pm2 restart 服务名称
// 停止服务
pm2 stop 服务名称