centos上升级node_centos服务器升级nodejs, pm2

2023-05-16

突然抽风想升级服务器的nodejs版本,原服务器版本运行的8.x,而目前(2019年5月30日)nodejs官方最新版本已经更新到了12.x了,稳定版本也更新到了10.x。

然后就折腾了一把去升级服务器的nodejs,具体步骤如下

第一步:下载nodejs

6b82d48507aa4b0f85c86031b1f27d20.png

选择LTS版本,毕竟适用于大多数用户,current版本是当前最新版,可尝试nodejs的最新特性。

第二步:上传服务器

将下载的node-v10.16.0-linux-x64.tar.xz文件上传到服务器,你也可以解压之后再上传,但是解压之后文件大小从一二十兆飙到四五十兆大小了,所以还是建议传到服务器再解压。

第三步:解压

解压命令:

#查看当前控制台所在目录pwd#如果不在上传文件目录,则需要cd到上传目录去解压,也可以不cd过去,解压命令直接带上绝对路径

cd xxxx

#解压,据说可忽略xz命令,直接执行tar命令

xz-d ./node.xxx.tar.xz

#再解压tar -xvf ./node.xxx.tar#进入到解压目录下的bin目录

cd ./node.xxx/bin

#查看node版本

node-v

#如果正常显示版本号表示node成功解压,否则重新再来吧

第四步:建立符号链接

ln -sf /node-xxx/bin/node /usr/bin/nodeln -sf /node-xxx/bin/npm /usr/bin/npm

#任意目录执行以下命令

node -v

npm -v

#如果正常显示版本号表示node安装成功!!

-s表示建立软连接(符号链接),-f表示强制执行,-sf就表示建立符号链接,如果链接已存在则删除重建!

这儿有大佬建议将符号连接到 /usr/local/bin/ 目录,然而我试了没成功,环境变量也有,如下:

$ echo$PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

所以还是建议将符号链接到 /usr/bin/ 下面!!!

以上升级nodejs则已完成,下面说说重新安装pm2。

升级完nodejs之后pm2命令不存在了,但是运行中的pm2不受影响,意思就是如果你没手动停止pm2,那么你的网站还是可以正常访问的。

#新版本nodejs安装pm2

npminstall -g pm2

安装成功之后再建立符号链接

ln -sf /node-xxx/bin/pm2 /usr/bin/pm2

更新pm2运行中的版本!!!可无缝衔接升级nodejs,升级之前不需要停掉pm2!!

#运行该命令即可更新运行中的版本

pm2 update

到此pm2版本已经更新,也可以再重启下pm2

pm2 restart all

折腾到此的时候,又有点抽风了,因为pm2用了pm2-logrotate插件切割日志,就想看看这个插件安装位置在哪,是否需要重新安装!!

百度了一番,并没有找到介绍pm2的插件安装目录的文章,因为pm2的插件安装命令执行的是 pm2 install pm2-logrotate 跟npm install是有区别的!!

不揪出这个安装目录感觉心里总是不舒服,然后就各种搜索源码,各种搜索关键字之后,终于找到了一段代码,github源码位置

f8723ae88e5a956ff731d503c3e200ca.png

代码指出了这个安装目录位置,跟node环境变量PM2_HOME || HOME || HOMEPATH有关,你可以使用命令查看你自己的环境变量

#执行node命令,不带任何参数

$ node> console.log(process.env)

#即可查看node的所有环境变量

最终找到了我的pm2插件安装目录在 /root/.pm2/modules/ 下面躺着,也就是说:更新pm2之后可以不用重新安装插件

ed23c65fdc73822e6563d8bdc1118273.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos上升级node_centos服务器升级nodejs, pm2 的相关文章

随机推荐

  • 设置HTML5的video播放速度

    var speed 61 1 5 设置速度 var vdo 61 document getElementById 34 视频的id 34 获取id vdo playbackRate 61 speed 改变速度 合并一句 document g
  • uni-app 做路由拦截器

    插件市场 xff08 https ext dcloud net cn plugin id 61 159 xff09 吐槽 好多小伙伴跑来问我有没有Uni app视频教程 xff0c 收费的也行 各位uni app 你根本不需要买市面上几百块
  • 华为S5700交换机初始化和配置SSH和TELNET远程登录方法

    华为S5700交换机初始化和配置TELNET远程登录方法 xff1a 1 交换机开启Telnet服务 lt Huawei gt system view 进入系统视图 Huawei telnet server xff1f 查看有enable还
  • 方差的无偏估计如何计算?

    我们常常被问到 34 方差的无偏估计如何计算 xff1f 和有偏估计的区别是什么 xff1f 34 xff0c 心想 34 哎呀 xff0c 又忘了 34 本篇回归问题本质 xff0c 带你理解这些名词背后解决的实际问题 xff08 通过总
  • C++ for无限循环~

    无限循环 如果条件永远不为假 xff0c 则循环将变成无限循环 for 循环在传统意义上可用于实现无限循环 由于构成循环的三个表达式中任何一个都不是必需的 xff0c 您可以将某些条件表达式留空来构成一个无限循环 include lt io
  • VINS-Fuison调试笔记

    最近一直在断断续续的调试vins fuison xff0c odometry总是各种飘 xff0c 令人头大 记录一下调试过程 xff0c 供以后学习参考 首先选用一组可靠的视觉惯导传感器 xff0c 如Realsense D435i xf
  • 《C和指针》阅读笔记

    第9章 字符串 字符和字节 9 1 字符串基础 字符串就是一串 零个或多个字符 xff0c 并且以一个位模式为全0的NUL字节结尾 因此 xff0c 字符串所包含的字符内部不能出现NUL字节 NUL字节是字符串的终止符 xff0c 但它本身
  • 【蓝牙数据采集模块】-02-Sensor Controller 编写CC2650STK外设驱动

    上次说到把所有的传感器模块在Sensor Controller中实现读写 xff0c 并封装驱动 先来看一下CC2650STK的原理图 用红色方框标记的DIO 0 DIO 7 DIO 23 DIO 30是可以通过Sensor Control
  • ->:间接引用运算符

    gt 是一个整体 xff0c 它是用于指向结构体 C 43 43 中的class等含有子数据的指针用来取子数据 换种说法 xff0c 如果我们在C语言中定义了一个结构体 xff0c 然后申明一个指针指向这个结构体 xff0c 那么我们要用指
  • linux音频服务器,Linux声音系统

    TAG linux alsa oss pulseaudio esd aRts DATE 2013 08 13 Linux声音系统有些混乱 xff0c 它有三套音频驱动 OSS Open Sound System 商业版的OSS xff0c
  • android 网络调试工具,安卓网络调试助手

    安卓网络调试助手apk是一款内容比体积精彩得多的网络设置软件 安卓网络调试助手支持多种端口和协议 xff0c 而且安卓网络调试助手apk虽然功能很专业但是操作起来也不是很难 xff0c 很容易学会 xff01 软件介绍 安卓网络调试助手ap
  • 计算机非全日制硕士 选校,非全日制硕士研究生,到底值不值得报考?看完这篇就懂了!...

    网友一 xff1a 如果不是已经工作的 xff0c 不推荐报考 因为非全日制的待遇不如全日制 xff0c 同时公务员等体制很多要求全日制学历 同时学费也比全日制贵好几倍 加上本身作为新生事物 xff0c 就业市场的认可与否还很难讲 如果你已
  • android进入后台被杀死,Android后台杀死系列之一:FragmentActivity及PhoneWindow后台杀死处理机制...

    新Activity启动及旧Activity保存流程 App在后台久置后 xff0c 再次从桌面或最近的任务列表唤醒时经常会发生崩溃 xff0c 这往往是App在后台被系统杀死 xff0c 再次恢复的时候遇到了问题 xff0c 而在使用Fra
  • V4L2框架

    前言 在分析v4l2之前最好具有的知识 xff1a 1 字符设备 因为v4l2是被枚举为字符设备 2 内存分配和映射 比如相关数据结构的分配和buffer 3 DMA xff0c 因为v4l2的数据传输用到了DMA 4 I2C xff0c
  • linux串口命令UART,STM32串口通信UART使用

    STM32串口通信UART使用 uart使用的过程为 xff1a 1 使能GPIO口和UART对应的总线时钟 2 配置GPIO口的输出模式 3 配置uart口相关的基本信息 4 使能uart口的相关的中断 xff0c 如接收中断 空闲中断等
  • c语言指void函数的指针,C语言中的函数指针与指针函数

    函数是任何一门语言中必不可少的部分 xff0c 正是由这些函数组成了程序 首先谈一下C语言中的函数指针与指针函数 xff0c 再了解一下函数参数传递的相关原理 1 函数指针与指针函数 1 函数指针 即指向这个函数的指针 xff0c 定义为
  • vins中imu融合_12-VINS应用改进之一:Fusing Detection

    目的是在VIO导在航系统中加入CNN目标检测功能 xff0c 简单起见 xff0c 并没有把CNN检测结果放入BA中进行优化 xff0c 也就是说CNN只借用VIO的定位结果而不对定位做贡献 思路如下 xff1a 1 通过ROS的messa
  • html做的网页连wifi,ESP32通过WEB页面连接WIFI

    在ESP32官方的例程中 xff0c 都是直接把WIFI的SSID和Password写死在程序里 xff0c 但是在实际使用中网络环境是不固定的 xff0c 如果更换了网络环境 xff0c 就得重新修改程序 xff0c 在实际运用中并不合理
  • linux允许putty链接,解决putty没法链接Linux问题-拒绝访问,

    1 putty没法链接Linux 采用ssh链接出现error connect refused 因为本人也是一开始学习Linux xff0c 发现竟然连不上Linux xff0c 看了不少其它人的博客 xff0c 其它人都有提出过其它解决方
  • centos上升级node_centos服务器升级nodejs, pm2

    突然抽风想升级服务器的nodejs版本 xff0c 原服务器版本运行的8 x xff0c 而目前 2019年5月30日 nodejs官方最新版本已经更新到了12 x了 xff0c 稳定版本也更新到了10 x 然后就折腾了一把去升级服务器的n