最新版本 Centos 7 yum 安装nodejs、npm、pm2、yarn 并升级GLIBC
一、环境准备
1.1 查看系统环境
[root@localhost /]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost /]# uname -m
x86_64
[root@localhost /]# uname -r
3.10.0-1160.105.1.el7.x86_64
1.2 关闭防火墙和selinux
1.2.1 关闭防火墙
[root@localhost /]# systemctl stop firewalld.service
[root@localhost /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
1.2.2 关闭selinux
[root@localhost ~]# getenforce #查看selinux是否开启
Enforcing #enforcing表示selinux开启的,
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #修改配置文件,需要重启才后永久关闭
[root@localhost ~]# setenforce 0 #临时关闭selinx
[root@localhost ~]# getenforce #检测是否关闭
Disabled
二、安装epel源 (Extra Packages for Enterprise Linux) 仓库
添加 EPEL 仓库,就可以通过 yum 安装 EPEL 仓库中提供的额外软件包。这些软件包通常是主仓库中没有的,可以获取更广泛的软件选择和更新的软件版本。
[19:11:07:590][root@localhost ~]# yum install epel-release -y
三、安装nodejs和npm
3.1 安装nodejs和npm
yum install nodejs npm -y
3.2 查看安装的node和npm版本
[19:11:57:054][root@localhost ~]# node -v
[19:11:57:071]v16.9.1
[19:11:59:629][root@localhost ~]# npm -v
[19:11:59:998]8.19.4
3.3 npm
常用命令
3.3.1 初始化新项目
npm init #初始化一个新的 JavaScript 项目,创建一个 `package.json` 文件
3.3.2 安装和管理包
npm install [package_name] #安装一个包到项目中
npm install [package_name]@version #安装特定版本的包
npm install -g [package_name] #全局安装一个包
npm update [package_name] #更新项目中的一个包
npm uninstall [package_name] #从项目中卸载一个包
3.3.3 项目依赖和配置
npm list #列出项目依赖的包
npm view [package_name] versions #查看可用版本的包
npm config list #查看 npm 配置
3.3.4 运行脚本和发布
npm run [script] #运行定义在 package.json 中的脚本
npm start #运行 package.json 中的 start 脚本
npm test #运行 package.json 中的 test 脚本
npm publish #发布包到 npm
3.3.5 其他常用命令
npm cache clean --force #清除 npm 缓存
npm help [command] #获取命令的帮助信息
到这里 已经算安装完成了,但对我所需要的环境还是版本较低,下面升级一下版本.
切记! 如果当前版本已经够你使用 不要再升级了.不然下面要出现问题了~
3.4 (可选) 设置淘宝镜像和安装淘宝 cnpm
# 设置淘宝镜像源
npm config set registry https://registry.npm.taobao.org
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 取消设置
npm config set registry https://registry.npmjs.org/
#查看当前镜像配置
npm config get registry
3.5 安装升级node版本的工具 n
是一个 Node.js 版本管理器
npm install -g n
3.6 n的常用方法
3.6.1 安装 Node.js 版本
n latest # 安装最新版本的 Node.js
n stable # 安装最稳定的 Node.js 版本
n lts # 安装最新的长期支持(LTS)版本的 Node.js
n [version] # 安装指定版本的 Node.js,如 n 14.17.0
3.6.2 查看和选择 Node.js 版本
n # 显示安装的版本并选择
n ls # 列出已安装的 Node.js 版本
n ls-remote # 列出可安装的 Node.js 版本
n [version] # 切换到指定版本,如 n 14.17.0
3.6.3 卸载 Node.js 版本
n rm [version] # 卸载指定版本的 Node.js,如 n rm 14.17.0
n prune # 移除所有不是当前选定版本的 Node.js 版本
3.6.4 其他命令
n --version # 显示 n 的版本信息
n doctor # 运行 n 的诊断工具
n which [version] # 显示指定版本 Node.js 的安装路径
n use [version] [args] # 以指定的 Node.js 版本运行脚本
n bin [version] # 显示指定版本 Node.js 的 bin 目录
n cache clear # 清除 n 的下载缓存
n auto # 自动根据当前目录的 .n-node-version 文件切换 Node.js 版本
3.6.5 环境变量
N_PREFIX # 设置 n 的安装目录
N_NODE_MIRROR # 设置 Node.js 镜像的 URL
N_NODE_VERSIONS # 设置 n 存储 Node.js 版本的目录
3.7 升级node
到稳定版
[15:31:08:193][root@localhost ~]# n stable
[15:31:08:615] installing : node-v20.10.0
...
3.8 升级npm到最新版(报错了!
)
[15:32:05:814][root@localhost ~]# npm install -g npm
[15:32:05:821]node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
[15:32:05:821]node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
[15:32:05:821]node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
[15:32:05:821]node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
[15:32:05:821]node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
[15:32:05:821]node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
系统中缺少所需的 GLIBC 和 GLIBCXX 版本,那么 开始安装缺失的库~
四、安装glibc-2.28
(此步骤根据机器性能来定需要的时间.)
4.1 编译升级gcc8.5.0
4.1.1 安装所需要的依赖库
yum install -y gmp-devel mpfr-devel libmpc-devel gcc gcc-c++ gcc-gfortran.x86_64 make bison
由于 yum 安装的 gcc 和 make 版本太低,所以只能手动编译安装了
# 下载源代码压缩包
wget https://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
#解压
tar -zxvf gcc-8.5.0.tar.gz
cd gcc-8.5.0
#编译
./configure --prefix=/usr --disable-multilib --enable-languages=c,c++,fortran
make -j 8
#卸载低版本
yum remove gcc -y
# 安装8.5.0版本的gcc
make install
# 查看版本是否升级成功
gcc -v
4.2 编译升级make4.3
# 下载源代码压缩包
wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz
#解压
tar -zxvf make-4.3.tar.gz
cd make-4.3
#编译并安装
./configure --prefix=/usr && make && make install
# 查看版本是否升级成功
make -v
4.3 编译glibc
# 下载源代码压缩包
wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
#解压
tar -zxvd glibc-2.28.tar.gz
#解压
cd glibc-2.28 && mkdir build && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --disable-sanity-checks --disable-werror #/usr禁止修改安装目录,改后无法登录. 这里用覆盖模式,直接用
make -j 8
# 安装
make install
make localedata/install-locales #解决乱码问题
make install 如果提示报错,可暂时忽略,看一下命令中是否有 glibc-2.28版本,有即可
strings /lib64/libc.so.6 | grep GLIBC_
此时再升级
npm
就好了.
五、安装PM2
工具 (进程管理器)
5.1 安装PM2
npm install -g pm2
5.2 PM2
的常用方法
5.2.1 启动应用
pm2 start app.js #使用 PM2 启动 app.js 文件
pm2 start app.js --name="MyApp" #以自定义名称启动应用
pm2 start app.js -i max #以集群模式启动应用,并根据 CPU 核心数启动最大实例数
pm2 start app.js --watch #启动应用并监控文件变化自动重启
5.2.2 列出所有进程
pm2 list #显示所有由 PM2 管理的进程
pm2 monit #监控所有进程
pm2 show [app-name] #显示特定应用的详细信息
5.2.3 重启和停止
pm2 restart all #重启所有进程
pm2 reload all #无宕机重新加载所有进程
pm2 stop all #停止所有进程
pm2 restart [app-name] #重启指定的应用
5.2.4 日志管理
pm2 logs #显示所有进程的日志
pm2 logs [app-name] #显示指定应用的日志
pm2 flush #清空所有日志文件
pm2 reloadLogs #重新加载所有日志
5.2.5 负载均衡和集群模式
pm2 start app.js -i 0 #根据可用 CPU 数启动最大进程数
pm2 scale [app-name] +3 #增加 [app-name] 的实例数
pm2 scale [app-name] 2 #将 [app-name] 的实例数调整为 2
5.2.6 配置和环境管理
pm2 start app.js --env production #在生产环境下启动应用
pm2 start ecosystem.config.js #根据配置文件启动应用
5.2.7 其他重要命令
pm2 save #保存当前的进程列表和配置
pm2 resurrect #在系统重启后恢复之前保存的进程列表
pm2 update #更新 PM2 运行时和所有应用
pm2 reload [app-name] #无宕机重新加载指定应用
pm2 logrotate #开启日志文件自动轮换
pm2 deploy [configuration_file] [environment] [action] #部署应用
pm2 plus #启动 PM2 Plus 互动式仪表板
pm2 describe [id|name] #描述特定应用的状态和详情
pm2 reset [process_name] #重置重启计数
pm2 delete [process_name] #删除并停止指定的进程
pm2 ping #检查 PM2 守护进程是否运行
pm2 report #生成状态报告,用于故障排除
pm2 startup #生成启动脚本
六、安装yarn
工具 (包管理工具)
6.1 安装yarn
工具
npm install -g yarn
6.2 yarn
常用命令
6.2.1 初始化新项目
yarn init #初始化一个新的 JavaScript 项目,创建一个 `package.json` 文件
6.2.2 安装和管理包
yarn add [package_name] #安装一个包到项目中
yarn add [package_name]@version #安装特定版本的包
yarn global add [package_name] #全局安装一个包
yarn upgrade [package_name] #更新项目中的一个包
yarn remove [package_name] #从项目中卸载一个包
6.2.3 项目依赖和配置
yarn list #列出项目依赖的包
yarn info [package_name] #查看包的信息
yarn config list #查看 yarn 配置
6.2.4 运行脚本和发布
yarn run [script] #运行定义在 package.json 中的脚本
yarn start #运行 package.json 中的 start 脚本
yarn test #运行 package.json 中的 test 脚本
yarn publish #发布包到 npm
6.2.5 其他常用命令
yarn cache clean #清除 yarn 缓存
yarn help [command] #获取命令的帮助信息
评论区