标题提到的“pm2 部署 node的三种方法示例”是指在Node.js环境中,使用PM2这个流行的进程管理工具来部署和管理Node.js应用的三种不同方式。PM2是一个生产级别的Node.js应用的进程管理器,它提供了稳定、高效且易于管理的特性,如自动重启、负载均衡、日志管理和集群模式等。
让我们详细讲解一下Node.js的安装过程,这是部署的基础。对于Linux系统,有三种常见的安装方式:
1. **下载编译后的二进制文件**:
- 访问Node.js官网下载适用于Linux的tar.gz文件。
- 使用`tar -zxvf`命令解压文件。
- 将`node`和`npm`软链接到`/usr/local/bin`目录下,使其成为全局可执行命令。
- 更新环境变量`PATH`,确保可以访问到Node.js和npm。
- 通过`source /etc/profile`使环境变量立即生效。
2. **从源码编译安装**:
- 解压下载的源码包。
- 使用`./configure`, `make`, `make install`命令编译和安装。
- 类似于第一种方法,创建软链接并更新环境变量。
3. **使用包管理器安装(不推荐)**:
- 对于基于Debian的系统,如Ubuntu,可以使用`sudo apt-get install node.js`和`sudo apt-get install npm`来安装,但这种方式可能不会得到最新版本。
接下来,我们转向PM2的部署方法:
1. **基本部署**:安装PM2全局,运行`npm install -g pm2`,然后在项目根目录下运行`pm2 start app.js`,其中`app.js`是你的主入口文件。
2. **JSON配置文件部署**:创建一个`ecosystem.config.js`或`pm2.json`文件,定义应用的启动参数和环境变量。例如:
```javascript
module.exports = {
apps: [{
name: 'my-app',
script: 'index.js',
env: {
NODE_ENV: 'production'
}
}]
};
```
使用`pm2 start ecosystem.config.js`启动应用。
3. **集群模式部署**:通过`pm2 start app.js --cluster`启用集群模式,这将利用多核CPU,提高应用性能。也可以在配置文件中指定集群数量,如`instances: 4`。
在部署前,确保已经正确安装了Redis,因为Redis常作为Node.js应用的数据存储或缓存。Redis的安装步骤包括下载源码,编译,将可执行文件移动到适当目录,启动Redis服务,并通过`redis-cli`客户端验证服务是否正常运行。
代码上传和部署通常涉及以下步骤:
- 打包项目,但排除不需要的文件(如`node_modules`、`.idea`、`.git`和已打包的文件)。
- 使用`scp`命令将压缩包上传到服务器。
- 登录服务器,解压文件,并在项目目录中执行`npm install`安装依赖。
- 使用PM2启动应用,确保所有服务正常运行。
总结来说,PM2提供了一套强大的工具来部署和管理Node.js应用,包括基本启动、JSON配置和集群模式,以及与Redis等数据存储的集成。正确安装和配置这些组件是确保Node.js应用稳定、高效运行的关键。