centos下安装node踩坑记录
博客简介
在 centos 服务器中安装 node 环境,本来以为没什么问题,该这么安装就怎么安装就可以了,结果来了个小插曲,服务器始终报异常 “无法执行二进制文件”,到底是什么情况呢,我们来详细看下什么原因
一、下载源文件
在 node 管网下载源文件,选择你需要的版本,地址为 https://nodejs.org/dist/v14.17.5/
,我选择的是 14.17.5
版本号。
二、查看服务器内核
重点来了,由于我没有查看当前 centos 的版本号,导致我直接就下载了 linux-x64-tar.gz 格式的安装文件,结果始终是报异常 “无法执行二进制文件”。我在自己的腾讯云服务器安装没有任何问题,node 版本号可以直接进行查看,但是在公司的服务器就是不行。
查看服务器的内核信息,执行命令
uname -a
自己服务器:
[root@VM-24-13-centos bin]# uname -a
Linux VM-24-13-centos 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
公司服务器:
[root@ii-0001 src]# uname -a
Linux ii-0001.novalocal 4.18.0-193.28.1.el7.aarch64 #1 SMP Wed Oct 21 16:25:35 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
原来是我没有根据服务器的内核下载适配的 node 源文件格式,应该下载 “linux-arm64.tar.gz ”格式的文件。
三、安装node
下载文件
# 进入到安装目录
cd /usr/local/src/
# 下载源文件
wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-arm64.tar.gz
解压文件
# 执行完第一行命令会得到 tar 格式文件
xz -d node-v14.17.5-linux-arm64.tar.gz
# 解压该文件
tar xvf node-v14.17.5-linux-arm64.tar
进入 ./node-v14.17.5-linux-arm64 文件夹,测试是否可执行 node 命令,./node-v14.17.5-linux-arm64/bin node -v,如果显示 node 的版本即可表示可正常使用。
编辑 profile
vim /etc/profile
在文件最后插入 node 环境变量路径
# node
export NODE_HOME=/usr/local/src/node-v14.17.5-linux-x64
export PATH=$NODE_HOME/bin:$PATH
# 更新环境配置
source /etc/profile
# 查看node版本号
[root@VM-24-13-centos bin]# node -v
v14.17.5
四、安装pm2
安装好 node 服务后,那么 npm 已经安装好了,我们使用 npm 来安装一下 pm2 服务
npm install pm2 -g -y
执行结果如下所示表示安装成功:
+ pm2@5.2.2
added 184 packages from 182 contributors in 197.9s
[root@VM-24-13-centos bin]# pm2 ls
__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
_\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
_\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
_\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
_\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
_\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
_\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
_\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
_\///______________\///______________\///__\///////////////__
Runtime Edition
PM2 is a Production Process Manager for Node.js applications
with a built-in Load Balancer.
Start and Daemonize any application:
$ pm2 start app.js
Load Balance 4 instances of api.js:
$ pm2 start api.js -i 4
Monitor in production:
$ pm2 monitor
Make pm2 auto-boot at server restart:
$ pm2 startup
To go further checkout:
http://pm2.io/
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
┌─────┬───────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
└─────┴───────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘