【Linux服务器Java环境搭建】05 Node JS安装及环境变量配置

【Linux服务器Java环境搭建】01购买云服务器以及在服务器中安装Linux系统
【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器
【Linux服务器Java环境搭建】03 Git工具安装
【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装)
【Linux服务器Java环境搭建】05 Node JS安装及环境变量配置
【Linux服务器Java环境搭建】06 maven项⽬构建和管理⼯具安装
待续…
【Linux服务器Java环境搭建】附录01:判断Linux服务器是X64还是arm架构的方式
【Linux服务器Java环境搭建】附录02:压缩格式tar.gz和tar.xz的区别

下载对应版本安装包

  1. 下载地址 https://nodejs.org/en/download/
  2. 选择并下载与系统相应的安装包
    判断系统为X64或arm的方式请参考
    在这里插入图片描述

解压安装包

  1. 将安装包node-v20.9.0-linux-x64.tar.xz通过xftp放入到目录 /root/lzh
    在这里插入图片描述

  2. 在目录/usr/local/下创建文件夹node,并进入node目录

[root@yisu-655382d078761 ~]# cd /usr/local
[root@yisu-655382d078761 local]# mkdir node
[root@yisu-655382d078761 local]# cd node
  1. 将目录/root/lzh/下的node安装包node-v20.9.0-linux-x64.tar.xz,解压到目录/usr/local/node,执行如下命令
[root@yisu-655382d078761 node]# tar -xJvf  /lzh/node-v20.9.0-linux-x64.tar.xz -C ./

解压完成后,会在目录/usr/local/node/下出现如下文件目录
在这里插入图片描述

配置系统环境变量

  1. 通过命令vim ~/.bash_profile,编辑该文件,在文件末尾追加如下内容
# Node js
export PATH=/usr/local/node/node-v20.9.0-linux-x64/bin:$PATH
  1. 重新刷新环境变量,使其生效,执行如下命令
source ~/.bash_profile

检查node版本

  1. 执行命令node -v,发现报如下错误
[root@yisu-655382d078761 node]# node -v
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

其实这本质上并不是 nvm 的问题,而是CentOS低版本系统的 GLIBC 版本过低(通过命令ldd --version查看对应版本)
在这里插入图片描述
我们发现系统中 GLIBC 版本仅为 17,而报错中显示我们缺失,25,27,28。而 GLIBC是向下兼容的,安装高版本的同时会安装低版本,所以我们只需要安装 GLIBC_2.28 即可。(请看但是
但是,如果是centos7的话,不建议自己手动升级或者修改glibc库,因为系统很多服务都需要依赖该库的。如实在需要使用nodejs18版本,建议更换操作系统,如Ubuntu22、Debian11等。因为nodejs18版本需要高版本的glibc库支持,而centos7的glibc库不兼容,所以现在我们进行node版本降级操作,如Node.js 16.20.2node历史版本下载地址

  1. 下载低版本node安装包,重复如上安装解压和配置操作(请参考如上步骤)
  2. 再次输入node -v进行版本的查看
    在这里插入图片描述

node js简介

Node.js(通常简称为Node)是一个基于Chrome V8 JavaScript引擎构建的开源、跨平台的JavaScript运行时环境。Node.js使得开发者可以使用JavaScript语言编写服务器端的代码,而不仅仅局限于在浏览器中运行的前端代码。以下是Node.js的一些主要特点和作用

  • 非阻塞I/O模型: Node.js采用事件驱动、非阻塞I/O模型,使其能够高效地处理大量并发连接。这意味着在处理请求时,Node.js不会等待一个I/O操作完成,而是会继续处理下一个请求,从而提高了系统的性能和吞吐量。

  • 轻量和高效: Node.js的设计目标之一是轻量和高效,它以简单的模块化方式构建,使得开发者能够更容易地构建可扩展的网络应用程序。

  • 跨平台: Node.js可以在多个操作系统上运行,包括Windows、Linux和macOS,使得开发者能够在不同的环境中开发和部署应用程序。

  • 单线程: Node.js是单线程的,但通过事件驱动和异步I/O的方式,能够处理大量并发请求。这种设计使得开发者能够更容易地编写高性能的网络应用。

  • npm(Node Package Manager): npm是Node.js的包管理工具,提供了丰富的开源模块,使得开发者能够轻松地引入和管理依赖。

  • 构建实时应用: 由于其事件驱动和非阻塞的特性,Node.js特别适用于构建实时的、具有高并发性的应用程序,例如聊天应用、在线游戏等。

  • 全栈开发: Node.js可以用于服务器端开发,也可以用于构建整个应用程序的后端,使得开发者可以使用同一种语言(JavaScript)进行全栈开发,简化了技术栈。

总体而言,Node.js是一个强大的服务器端运行时环境,适用于构建高性能、可扩展和实时的网络应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flink源码分析 - 命令行参数解析-CommandLineParser

flink版本: flink-1.11.2 调用位置: org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint#main 代码位置: flink核心命令行解析器: org.apache.flink.runtime.entrypoint.parser.CommandLineParser /** Licensed to the Apache Software Foundati…

基于OpenAPI工具包以及LSTM的CDN网络流量预测

基于LSTM的CDN网络流量预测 本案例是基于英特尔CDN以及英特尔 OpenAPI Intel Extension for TensorFlow* Intel oneAPIDPC Library 的网络流量预测,CDN是构建在现有网络基础之上的智能虚拟网络,目的是将源站内容分发至最接近用户的节点,使用…

unity学习笔记17

一、动画组件 Animation Animation组件是一种更传统的动画系统,它使用关键帧动画。你可以通过手动录制物体在时间轴上的变换来创建动画。 一些重要的属性: 1. 动画(Animation): 类型: Animation组件允许…

使用Prometheus监控Padavan路由器

Prometheus监控Padavan路由器 1、背景 近期在Synology(群辉)中安装一套Prometheus监控程序,目前已经监控Synology,然后家中有有路由器(Padavan)型号,也准备使用PrometheusGrafan进行监控。 ‍…

采集工具-免费采集器下载

在当今信息时代,互联网已成为人们获取信息的主要渠道之一。对于研究者和开发者来说,如何快速准确地采集整个网站数据是至关重要的一环。以下将从九个方面详细探讨这一问题。 确定采集目标 在着手采集之前,明确目标至关重要。这有助于确定采集…

冲突域和广播域

文章目录 冲突域广播域 冲突域 在网络内部两个数据帧同时进行传输时,产生与发生冲突的区域,所有共享介质都是一个冲突域。冲突域时基于第一层,物理层的。 集线器和中继器因为都在物理层,没有MAC地址表,所以不能隔离冲…

数据结构之堆排序以及Top-k问题详细解析

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力 目录 1.前言 2.堆排序 2.1降序排序 2.2时间复杂…

Prime 1.0

信息收集 存活主机探测 arp-scan -l 或者利用nmap nmap -sT --min-rate 10000 192.168.217.133 -oA ./hosts 可以看到存活主机IP地址为:192.168.217.134 端口探测 nmap -sT -p- 192.168.217.134 -oA ./ports UDP端口探测 详细服务等信息探测 开放端口22&#x…

【Vulnhub 靶场】【HackathonCTF: 2】【简单】【20210620】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/hackathonctf-2,714/ 靶场下载:https://download.vulnhub.com/hackathonctf/Hackathon2.zip 靶场难度:简单 发布日期:2021年06月20日 文件大小:2.6 GB 靶场作者&…

54.多级缓存

目录 一、传统缓存的问题、多级缓存方案。 二、JVM进程缓存。 1)进程缓存和缓存。 2)导入商品案例。 1.安装MySQL 2.导入SQL 3.导入Demo工程 4.导入商品查询页面 3)初识Caffeine(就是在springboot学过的注解方式的cache&…

NAND Flash和NOR Flash的异同

NAND Flash和NOR Flash是两种常见的闪存类型。 NOR Flash是Intel于1988年首先开发出来的存储技术,改变了原先由EPROM和EEPROM一统天下的局面。 NAND Flash是东芝公司于1989年发布的存储结构,强调降低每比特的成本,更高的性能,并…

栈和队列OJ题——15.循环队列

15.循环队列 622. 设计循环队列 - 力扣(LeetCode) * 解题思路: 通过一个定长数组实现循环队列 入队:首先要判断队列是否已满,再进行入队的操作,入队操作需要考虑索引循环的问题,当索引越界&…

网络接口规范

1、基本物理层: a) RJ45接口作为最基本的网络接口之一有两种形式:对于百兆网口有4条线,2对差分线;对于千兆网口有4对差分线。RJ45水晶头是有8个凹槽和8个触点(8p8c)的接头,分为集成网络变压器和非集成网络变…

2022年9月8日 Go生态洞察:Go Developer Survey 2022 Q2 结果分析

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

物奇平台电容触摸功能调试

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台电容触摸功能调试 1 修改按键驱动宏 2 编译生成wpk 文件,import 导入烧录文件。…

水果编曲软件fl studio手机版下载

fl studio mobile手机版中文名水果编曲软件,它是一款非常不错的音乐编曲软件,凭借简单易上手的操作方式,强悍且实用的功能,深受到了音乐创作者的喜爱,不仅仅提供了广阔的音乐创作空间,可以让用户对舞曲、轻…

工具网站:随机生成图片的网站

一个随机生成图片的网站:Lorem Picsum。 有时候,我们做静态页面需要大量图片去填充内容,以使用该网站去生成指定尺寸的图片。每次打开页面都会获取不同的图片,就不用我们做静态页面开发的时候,绞尽脑汁去找图片了。 …

振南技术干货集:ChatGPT,现在我做单片机/嵌入式开发已经离不开它了!(2)

注解目录 (此文部分内客由 ChatGPT 生成,你分得出来哪些是人写的,哪些是 ChatGPT 生成的吗?) 20.1 恐怖的 ChatGPT 2023年ChatGPT有多火?比 TikTok火4 倍都不止!什么是“范式革命”?从石器时代到飞机大炮就是范式革命。AI绘…

Python读取栅格遥感影像并加以辐射校正后导出为Excel的一列数据

本文介绍基于Python语言中的gdal模块,读取一景.tif格式的栅格遥感影像文件,提取其中每一个像元的像素数值,对像素值加以计算(辐射定标)后,再以一列数据的形式将计算后的各像元像素数据保存在一个.csv格式文…

IDA常用操作、快捷键总结以及使用技巧

先贴一张官方的图,然后我再总结一下,用的频率比较高的会做一些简单标注 快捷键 F系列【主要是调试状态的处理】 F2 添加/删除断点F4 运行到光标所在位置F5 反汇编F7 单步步入F8 单步跳过F9 持续运行直到输入/断点/结束 shift系列【主要是调出对应的页…