初次在lunix下部署node项目,写的不好勿喷,但每一步我都会写在上面,如有问题,请多指教!
1、pm2简介
pm2(process manager)是一个进程管理工具,维护一个进程列表,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。
1.1、使用pm2管理的node程序的好处
① 监听文件变化,自动重启程序
② 支持性能监控
③ 负载均衡
④ 程序崩溃自动重启
⑤ 服务器重新启动时自动重新启动
⑥ 自动化部署项目
下面进入正题,首先安装node环境,然后安装pm2,在然后就可以开启项目,愉快的访问服务器上的数据咯```
2. 安装Node.js环境
2.1 官网下载10.16.3 版本node (已编译好!如无编译请编译安装)(根据系统下载 我的是64位的)
指定版本与线上版本一致(包括npm版本 必须保持版本吻合)
wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz (64位)
2.2,解压 并改名
tar -xvf node-v10.16.3-linux-x64.tar.xz
mv node-v10.16.3-linux-x64 nodejs 修改文件夹(目录)的名字
2.3、执行软连接 (全局使用npm/node命令)
注意:确认一下nodejs下bin目录是否有node 和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤
确认有node和npm文件了
执行软链接
ln -s /root/nodejs/bin/npm /usr/local/bin/
ln -s /root/nodejs/bin/node /usr/local/bin/
2.4. 执行完上面3个步骤 , 那就OK了 , 此时在任意目录下执行 node -v 和 npm -v 查看版本号!
如果成功显示版本号, 即为安装成功 , 如果出现错误, 重新执行上面3个步骤!!!
3. 安装pm2
3.1 npm install -g pm2 (指定全局)
3.2 配制到全局,虽然安装到全局,不知道为啥,linux下不像windows下能自动创造一个环境变量去实现我们的全局。所以我们需要创建一个linux下的软连接。
ln -s /root/nodejs/bin/pm2 /usr/local/bin/
3.3 pm2 list ( 检查pm2是否安装成功 ) 显示下图即为安装成功
此时pm2安装成功后, 迫不及待的想开启项目了吧, 那你还得在等等 ~ 皮一下
首先要把本地项目上传到服务器中,然后需要在项目中手动配置一个json文件 , 就可以开启项目咯!!!
4. 我是用git来直接克隆项目, 首先在项目中新建一个json文件
{
"apps": [{
"name": "app", // 名称
"script": "./", // 程序入口
"cwd": "./", // 根目录
"watch": [
"app"
], //需要监控的目录
"error_file": "./logs/err.log", //错误输出日志
"out_file": "./logs/out.log", //日志
"log_date_format": "YYYY-MM-DD HH:mm Z" //日期格式
}]
}
4.2 配置后把整个项目推到远程仓库 , 接下来在lunix服务器中克隆项目~
如果克隆过程中出现问题, 查看解决(https://blog.csdn.net/qq_41989372/article/details/85128271)
4.3 克隆成功后启动项目
pm2 start processes.json ( 出现下图即为项目开启成功)