关于PM2 PM2 Runtime is a Production Process Manager for Node.js applications with a built-in Load Balancer. It allows you to keep applications alive forever, to reload them without downtime and facilitate common Devops tasks. 译文:PM2 Runtime是具有内置Load Balancer的Node.js应用程序的生产过程管理器。它允许您永久保持应用程序的活动,无需停机即可重新加载它们,并促进常见的Devops任务。 Works on Linux (stable) & macOS (stable) & Windows (stable). All Node.js versions are supported starting Node.js 4.X. 译文:适用于Linux(稳定)和macOS(稳定)和Windows(稳定)。从Node.js 4.X开始支持所有Node.js版本。
[root@test-comm-mkdata ~]# rpm -q nodejs npm
package nodejs is not installed
package npm is not installed
[root@test-comm-mkdata ~]# yum list nodejs npm
[root@test-comm-mkdata ~]# yum install nodejs npm -y
[root@test-comm-mkdata ~]# npm install -g pm2
[root@test-comm-mkdata ~]# node -v
v0.10.48
[root@test-comm-mkdata ~]# npm -v
1.3.6
因此,安装PM2失败的原因在于未满足环境依赖,即Node.js和npm版本较低,不满足安装PM2的基本要求;而安装Nodejs时,将会自动安装npm,因为我们只需安装符合PM2要求的Nodejs版本即可解决问题。
获取Nodejs主要有以下三种方式。 附:项目官网
基于 Linux 的 Debian 和 Ubuntu 发行版,Enterprise Linux/Fedora 和 Snap packages Node.js 官方二进制发行版 由 NodeSource 提供。
curl -sL https://rpm.nodesource.com/setup_11.x | bash -
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
YUM
安装的Nodejs
和npm
软件包[root@test-comm-mkdata ~]# yum -y remove nodejs npm
[root@test-comm-mkdata ~]# cd /usr/local/
[root@test-comm-mkdata local]# wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
--2019-03-23 11:10:57-- https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
Resolving nodejs.org... 104.20.23.46, 104.20.22.46, 2606:4700:10::6814:172e, ...
Connecting to nodejs.org|104.20.23.46|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12309200 (12M) [application/x-xz]
Saving to: “node-v10.15.3-linux-x64.tar.xz”
100%[=============================================================>] 12,309,200 5.68M/s in 2.1s
2019-03-23 11:11:00 (5.68 MB/s) - “node-v10.15.3-linux-x64.tar.xz” saved [12309200/12309200]
[root@test-comm-mkdata local]# rpm -q xz
package xz is not installed
[root@test-comm-mkdata local]# yum -y install xz tree
[root@test-comm-mkdata local]# tar xf node-v10.15.3-linux-x64.tar.xz
[root@test-comm-mkdata local]# ls
bin games lib libexec node-v10.15.3-linux-x64.tar.xz share
etc include lib64 node-v10.15.3-linux-x64 sbin src
[root@test-comm-mkdata local]# mv node-v10.15.3-linux-x64 nodejs
[root@test-comm-mkdata local]# ls
bin games lib libexec node-v10.15.3-linux-x64.tar.xz share
etc include lib64 nodejs sbin src
创建软链接
,保证执行文件能在全局环境中使用。[root@test-comm-mkdata local]# cd nodejs/
[root@test-comm-mkdata nodejs]# ls
bin CHANGELOG.md include lib LICENSE README.md share
[root@test-comm-mkdata nodejs]# tree bin/
bin/
├── node
├── npm -> ../lib/node_modules/npm/bin/npm-cli.js
└── npx -> ../lib/node_modules/npm/bin/npx-cli.js
0 directories, 3 files
[root@test-comm-mkdata nodejs]# node -v
-bash: /usr/bin/node: No such file or directory
[root@test-comm-mkdata nodejs]# npm -v
-bash: /usr/bin/npm: No such file or directory
[root@test-comm-mkdata nodejs]# ln -s /usr/local/nodejs/bin/node /usr/bin/node
[root@test-comm-mkdata nodejs]# ln -s /usr/local/nodejs/bin/npm /usr/bin/npm
[root@test-comm-mkdata nodejs]# node -v
v10.15.3
[root@test-comm-mkdata nodejs]# npm -v
6.4.1
[root@test-comm-mkdata nodejs]# yum -y install make gcc gcc-c++ #或执行 yum groupinstall 'Development Tools'
[root@test-comm-mkdata nodejs]# cd /usr/local/
[root@test-comm-mkdata local]# wget https://nodejs.org/dist/v10.15.3/node-v10.15.3.tar.gz
[root@test-comm-mkdata local]# gunzip node-v10.15.3.tar.gz
[root@test-comm-mkdata local]# cd node-v10.15.3
[root@test-comm-mkdata node-v10.15.3]# ./configure --prefix=/usr/local/nodejs-Compile
[root@test-comm-mkdata node-v10.15.3]# make -j4 && make install
[root@test-comm-mkdata ~]# npm install -g cnpm
[root@test-comm-mkdata ~]# npm config set registry https://registry.npm.taobao.org
[root@test-comm-mkdata ~]# npm install -g pm2 #或 cnpm install -g pm2; 设定npm国内源和安装并使用cnpm二选一即可
[root@test-comm-mkdata ~]# pm2 -v
3.4.0