Linux 安装nodejs环境

news2024/11/15 20:44:34

文章目录

  • Node.js简介
    • Node.js的核心特性
    • Node.js的生态系统
    • Node.js的模块系统
  • 部署
    • 下载Node.js预编译二进制包
    • 上传到Linux服务器并解压
    • 配置环境变量
    • 验证安装


部署在下边,我先对nodejs进行一些介绍,大家了解一下

Node.js简介

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许JavaScript在服务器端运行。Node.js的出现,使得JavaScript不仅仅局限于前端开发,而是能够扩展到服务器端、桌面端甚至移动端的全栈开发领域。Node.js以其高效的非阻塞I/O和事件驱动机制而闻名,非常适合处理高并发、实时性强的应用场景。

Node.js的核心特性

  1. 服务器端:Node.js运行在服务器端,为JavaScript提供了运行环境。它使得JavaScript可以编写服务器端脚本,实现与数据库的交互、文件操作等功能。

  2. 非阻塞异步:Node.js采用了非阻塞型I/O机制,在进行I/O操作时(如文件读写、网络请求等),不会阻塞后续代码的执行。这种机制使得Node.js在处理高并发请求时非常高效。

  3. 事件驱动:Node.js使用事件驱动模型来处理请求。当新的请求到来时,它会被压入事件队列中,Node.js通过事件循环来检测队列中的事件状态变化,并执行相应的处理代码。

Node.js的生态系统

Node.js拥有一个庞大的模块生态系统,这些模块通过npm(Node Package Manager)进行管理。npm是Node.js的包管理工具,它允许用户从npm服务器下载并安装别人编写的第三方包到本地使用,同时也允许用户将自己编写的包上传到npm服务器供他人使用。这使得Node.js的开发变得更加便捷和高效。

Node.js的模块系统

Node.js应用是由模块组成的,遵循CommonJS模块规范。每个模块都有自己独立的作用域,通过require函数来引入其他模块,通过module.exportsexports来导出模块中的变量或函数。这种模块化的设计方式使得Node.js的代码更加清晰、易于维护。

部署

下载Node.js预编译二进制包

  1. 访问Node.js官网

    • 打开浏览器,访问Node.js的官方网站:https://nodejs.org/。
    • 在官网的下载页面(https://nodejs.org/en/download/ 或 https://nodejs.org/zh-cn/download/),选择“Prebuilt Binaries”或"预构建二进制文件"部分。
    • 根据你的Linux系统版本(如x64位)和需要,选择一个合适的Node.js版本进行下载。通常建议选择长期支持(LTS)版本,以获得更好的稳定性和安全性。
      在这里插入图片描述
  2. 下载Node.js包

    • 点击下载链接,将.tar.gz.tar.xz格式的Node.js包保存到本地。
    • 如果你在Linux服务器上操作,可以使用wget命令直接从命令行下载,例如:
      wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz
      
      其中v16.20.2是你选择的Node.js版本号。

上传到Linux服务器并解压

  1. 上传Node.js包到Linux服务器

    • 可以使用FTP工具(如FileZilla、WinSCP等)将下载好的Node.js包上传到服务器的指定目录,如/usr/local/src
  2. 解压Node.js包

    • 切换到包含Node.js包的目录,使用tar命令解压:
      cd /usr/local/src
      tar -xvf node-v16.20.2-linux-x64.tar.xz
      
    • 解压后,通常会得到一个以node-v16.20.2-linux-x64命名的目录。

配置环境变量

  1. 创建软链接

    • 为了能够在任何位置通过命令行访问Node.js和npm,需要为它们创建软链接(symbolic links)到系统的PATH中的某个目录,如/usr/local/bin/usr/bin
      sudo ln -s /usr/local/src/node-v16.20.2-linux-x64/bin/node /usr/local/bin/node
      sudo ln -s /usr/local/src/node-v16.20.2-linux-x644/bin/npm /usr/local/bin/npm
      sudo ln -s /usr/local/src/node-v16.20.2-linux-x64/bin/npx /usr/local/bin/npx  # 如果需要npx
      
  2. (可选)配置环境变量文件

    • 如果你想在多个用户或会话中永久设置这些路径,可以编辑如/etc/profile/etc/environment或用户的~/.bash_profile~/.bashrc等文件,添加类似export PATH=$PATH:/usr/local/src/node-v16.20.2-linux-x64/bin的行。然后运行source命令使更改生效。

验证安装

  1. 检查Node.js和npm版本
    • 打开终端,输入以下命令来验证Node.js和npm是否已成功安装:

      node -v
      npm -v
      

      在这里插入图片描述

    • 如果命令返回了相应的版本号,那么恭喜你,Node.js已经成功安装在Linux系统上了。

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

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

相关文章

计算机毕业设计Spark+PyTorch知识图谱房源推荐系统 房价预测系统 房源数据分析 房源可视化 房源大数据大屏 大数据毕业设计 机器学习

《SparkPyTorch知识图谱房源推荐系统》开题报告 一、选题背景与意义 1.1 选题背景 随着互联网的快速发展和大数据技术的广泛应用,房地产行业特别是房屋租赁市场迎来了前所未有的变革。房源信息的海量增长使得用户在寻找合适的房源时面临巨大挑战。传统的房源推荐…

集成电路学习:什么是IDE集成开发环境

IDE:集成开发环境 IDE,全称“Integrated Development Environment”,即集成开发环境,是一种用于提供程序开发环境的应用程序。它集成了代码编写、分析、编译、调试等多种功能于一体的开发软件服务套,为开发者提供了一个…

集成电路学习:什么是MPU微处理器

一、MPU:微处理器 MPU,全称Microprocessor Unit,即微处理器单元,是计算机系统中的核心部件之一。MPU是一种集成了中央处理器(CPU)、内存、外设控制器和总线接口等功能的芯片,为电子设备提供强大…

Linux驱动(五):Linux2.6驱动编写之设备树

目录 前言一、设备树是个啥?二、设备树编写语法规则1.文件类型2.设备树源文件(DTS)结构3.设备树源文件(DTS)解析 三、设备树API函数1.在内核中获取设备树节点(三种)2.获取设备树节点的属性 四、…

2024 World Conference of Computer and Information Security(WCCIS 2024)

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网:https://ais.cn/u/vEbMBz提交检索:EI Compendex、IEEE Xplore、Scopus截稿日期:2024年9月4日2024年9月27-29日 广西桂…

Rust模块std::thread

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust到底值不值得学,之一 -CSDN博客 Rust到底值不值得学,之二-CSDN博客 Rust多线程编程概述-CSDN博客 12.…

合碳智能 × Milvus:探索化学合成新境界——逆合成路线设计

合碳智能(C12.ai)成立于2022年,致力于运用AI和具身智能技术,为药物研发实验室提供新一代智能化解决方案,推动实验室从自动化迈向智能化,突破传统实验模式与人员的依赖,解决效率和成本的瓶颈&…

1. GIS开发工程师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

Leetcode每日刷题之76.最小覆盖子串(C++)

1.题目解析 本题的题目是给定两个字符串 s 和 t ,找出在 s 中的某个最小子串保证该子串中包含所以 t 中出现的字母即可,并且该结果是唯一答案,找不到结果就直接返回空串即可 2.算法原理 关于本题的核心思路就是"滑动窗口"&#xff…

【Python 千题 —— 算法篇】首字母大写

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目背景 在文本格式化和处理过程中,常常需要将字符串的首字母大写。这在各种场景中都有实际应用,例如在标题格式化、用户输入校验、生成显示友好的文本等场景中。…

CC6链漏洞

CC6链漏洞 一 cc链简介 CC链是Apache Commons Collections反序列化漏洞利用链的简称,它涉及将可以执行命令的函数(如Runtime.getRuntime().exec("calc.exe"))序列化为对象流并转化为文件流存储在文件中,然后通过反序列…

深度学习5从0到1理解RNN(包括LTSM,GRU等):内容丰富(上)

循环神经网络(Recurrent Neural Network, RNN) 是一种经典的深度学习网络结构,具有广泛的应用。其中,槽填充(Slot Filling)(即识别自然语言中的特定信息) 是其中一个应用场景&#x…

香橙派开启vnc

1连接香橙派 2. 更新系统 在SSH会话中,首先更新系统软件包列表并升级现有软件包: sudo apt update sudo apt upgrade3. 安装VNC服务器 安装VNC服务器软件,这里以x11vnc为例: sudo apt install x11vnc 出现如图输入如下代码即可…

Python爬虫:通过js逆向获取某瓜视频的下载链接

爬虫:通过js逆向获取某瓜视频的下载链接 1. 前言2. 获取script标签下的视频加密数据3. 第一步:获取解密后的视频下载链接4. 第二步:模拟生成加密的webid值 1. 前言 就小编了解,某瓜视频这个网站对应视频下载链接加密处理至少经过三个版本。之前在CSDN发布了一篇关于…

船舶机械设备5G智能工厂物联数字孪生平台,推进制造业数字化转型

船舶机械设备5G智能工厂物联数字孪生平台,推进制造业数字化转型。在当今数字化浪潮推动下,船舶制造业正经历着前所未有的变革。为了应对市场的快速变化,提升生产效率,降低成本,并增强国际竞争力,船舶机械设…

Docker 详解及详细配置讲解

Docker 简介 2008 年LXC(LinuX Contiainer)发布,但是没有行业标准,兼容性非常差 docker2013年首次发布,由Docker, Inc开发 什么是 Docker Docker是管理容器的引擎,为应用打包、部署平台,而非单纯的虚拟化技术&#xf…

【springboot】使用swagger生成接口文档

1. 添加依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency> 这里我老是添加不上这个依赖&#xff0c;搜索了下发现阿里…

《2024网络安全十大创新方向》

网络安全是创新驱动型产业&#xff0c;技术创新可以有效应对新的网络安全挑战&#xff1b;或是通过技术创新降低人力成本投入&#xff0c;提升企业运营效率。为推动行业技术创新、产品创新与应用创新&#xff0c;数说安全发布《2024年中国网络安全十大创新方向》&#xff0c;涵…

K8s高可用集群部署----超详细(Detailed Deployment of k8s High Availability Cluster)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

sM4040B科学级显微制冷相机特性

sM4040B科学级显微制冷相机特性 sM4040B搭载了 GSENSE4040BSI 3.2 英寸图像传感器&#xff0c;针对传感器固有的热噪声&#xff0c;专门设计了高效制冷模块&#xff0c;使得相机传感器的工作温度比环境温度低达 35-40 度。针对制冷相机常见的低温结雾现象设计了防结雾机制&…