Linux系统之部署Node.js环境

news2024/11/17 19:38:15

Linux系统之部署Node.js环境

  • 一、Node.js介绍
    • 1.1 Node.js简介
    • 1.2 npm简介
    • 1.3 Node.js官网
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、部署Node.js环境
    • 3.1 下载Node.js安装包
    • 3.2 解压Node.js安装包
    • 3.3 复制二进制文件
    • 3.4 配置环境变量
    • 3.5 检查node及npm版本
  • 四、NPM测试工作
    • 4.1 新建目录
    • 4.2 NPM初始化
    • 4.3 安装测试模块包
    • 4.4 创建测试文件 test.js
    • 4.5 进行测试
  • 五、部署测试项目
    • 5.1 编辑test.js文件
    • 5.2 运行测试项目
    • 5.3 检查监听端口
    • 5.4 访问测试项目

一、Node.js介绍

1.1 Node.js简介

1.Node.js 是一个开源和跨平台的 JavaScript 运行时环境。
2.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,用于服务器端编程的平台,可以解析和执行 JavaScript 代码。
3.Node.js可以处理大量的并发请求,并且可以方便地构建高性能的网络应用程序。
4.Node.js还可以使用 npm 包管理器来轻松地管理依赖项和模块。

1.2 npm简介

1.npm是Node.js的包管理工具,用于安装、发布、共享和管理代码包。
2.Node.js是一种运行JavaScript的开源后端服务技术,npm是Node.js社区的关键部分,它使开发人员能够轻松安装和更新代码库,以及管理不同软件包之间的依赖关系。
3.npm还提供了一个全球性的代码共享平台,使开发人员能够访问大量的软件包和资源,从而为开发过程提供了便利和灵活性。

1.3 Node.js官网

  • Node.js官网地址:https://nodejs.org/en

在这里插入图片描述

  • Node.js软件包下载地址:https://nodejs.org/dist/

在这里插入图片描述

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostnameIP地址操作系统版本内核版本Node.js版本
jeven192.168.3.166centos 7.63.10.0-957.el7.x86_64v14.17.0

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境;
2.在centos7.6环境下部署Node.js环境。

三、部署Node.js环境

3.1 下载Node.js安装包

使用以下命令,下载Node.js安装包。

wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz

在这里插入图片描述

3.2 解压Node.js安装包

解压Node.js安装包

tar -xvJf node-v14.17.0-linux-x64.tar.xz

在这里插入图片描述

3.3 复制二进制文件

将 /root/node-v14.17.0-linux-x64/bin/下的二进制文件复制到/usr/local/bin下

cp -a /root/node-v14.17.0-linux-x64/bin/node /usr/local/bin/node
cp -a /root/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/npm

3.4 配置环境变量

  • 在/etc/profile文件中,新增以下两行:
export NODE_HOME=/root/node-v14.17.0-linux-x64/bin/
export PATH=$PATH:$NODE_HOME:/usr/local/bin/
  • 使变量文件生效
source /etc/profile
  • 也可以采用创建软链接的方法,使得在任意目录下都可以直接使用node和npm命令
ln -s /root/node-v14.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/npm

3.5 检查node及npm版本

检查node及npm版本

[root@jeven Ghost]# npm -v
6.14.13
[root@jeven Ghost]# node -v
v14.17.0

四、NPM测试工作

4.1 新建目录

新建一个测试目录

mkdir -p /data/npm/

4.2 NPM初始化

NPM初始化

[root@jeven npm]# npm init -y
Wrote to /data/npm/package.json:

{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "test.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}


4.3 安装测试模块包

安装测试模块包,mocha 是一款测试框架,chai 是一款断言库。

npm install mocha chai --save-dev

4.4 创建测试文件 test.js

创建测试文件 test.js

[root@jeven npm]# cat test.js 
var assert = require('chai').assert;

describe('测试', function() {
  it('1 等于 1', function() {
    assert.equal(1, 1);
  });
});

4.5 进行测试

如果测试通过,会输出类似于以下的结果,如果测试不通过,则会输出错误信息。

[root@jeven npm]# ./node_modules/mocha/bin/_mocha test.js


  测试
    ✔ 1 等于 1


  1 passing (4ms)

五、部署测试项目

5.1 编辑test.js文件

编辑编辑test.js测试文件

[root@jeven ~]# cat test.js 
const http = require('http');
const hostname = '0.0.0.0';
const port = 5000;
const server = http.createServer((req, res) => {
	res.statusCode = 200;
	res.setHeader('Content-Type', 'text/plain');
	res.end('Learning makes me happy\n');
});
server.listen(port, hostname, () => {
	console.log(`Server running at http://${hostname}:${port}/`);
});


5.2 运行测试项目

运行测试项目

[root@jeven ~]# node ~/test.js &
[1] 24625
[root@jeven ~]# Server running at http://0.0.0.0:5000/
  • 查看后台运行任务
[root@jeven ~]# jobs
[1]+  Running                 node ~/test.js &

5.3 检查监听端口

检查监听的5000端口

[root@jeven ~]# ss -tunlp |grep 5000
tcp    LISTEN     0      128       *:5000                  *:*                   users:(("node",pid=26742,fd=18))

5.4 访问测试项目

在本地浏览器,访问:http://192.168.3.166:5000/

在这里插入图片描述

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

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

相关文章

EXCEL的自定义格式,比如 @_ ,一个我很少用的功能的简单总结

目录 前言 1 入口: 2 有用的一些功能 2.1 可以自动在 你输入的字符串前后加 预设内容 2.1.1 具体见下面 2.1.2 对比EXCEL得常用拖动功能 2.2 设置填充下划线 2.2.1 效果如下 2.2.2 问题 2.2.3 下划线的显示问题 2.3 比如 #.## 2.4 比如 000.000 2.5 比…

自动化测试webdriver常用API总结

目录 前言: 1. selenium的简单介绍 2. selnium的下载 3. WebDriver常用API 前言: WebDriver 是一个自动化测试工具,主要用于模拟浏览器行为,实现自动化测试。下面是一些 WebDriver 常用 API 总结: 1. selenium的…

STM32--ESP8266物联网WIFI模块(贝壳物联)--远程无线控制点灯

本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一、简介 随着移动物联网的发展,各场景下对于物联控制、数据上传、远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP…

CentOS 7.6安装 MongoDB 5.0.2

1、选择下载地址 进入下载官网 https://www.mongodb.com/try/download/community 选择右侧MongoDB Community Server Version:5.0.2(current) Platform:RedHat / CentOS 7.0 Package:tgz 点击Copy复制 安装位置&am…

爆肝总结,软件测试-常见并发问题+解决方案,测试进阶...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 并发测试的定义 …

LVS负载均衡--NET模式

目录 企业群集应用概率 群集的含义 问题 根据群集所针对的目标差异,可分为三种类型 负载均衡群集(Load Balance Cluster) 高可用群集(High Availability Cluster) 高性能运算群集(High Performance Computer Cluster) 负载均衡群集架构 负载均衡的结构 LV…

XuperChain搭建+报错+注意事项

安装依赖 golang 这里安装的是15-17版本 wget -c https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local 添加环境变量 这个可以通过添加下面的行到/etc/profile文件(系统范围内安装)或者$HOME/.profile文件(当前用户安装 vim /etc…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题:GPT-4 Technical Report作者:…

机器学习——单变量线性回归、梯度下降

文章目录 一、机器学习的分类二、线型回归Linear regression(单变量线性回归)三、代价函数3.1 建模误差3.2 平方误差代价函数 Squared error cost function3.3 梯度下降3.4 梯度下降与线性回归相结合 一、机器学习的分类 监督学习:学习数据带…

算法模板(3):搜索(6):做题积累

算法模板(3):搜索(6):做题积累 一、DFS 1. 1113. 红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下…

【剑指offer专项突破版】链表篇——“C“

文章目录 前言一.删除链表的倒数第 n 个结点题目分析思路分析细节分析步骤代码 二.链表中环的入口节点题目分析思路分析写法①代码写法②代码: 三.两个链表的第一个重合节点题目分析思路分析代码 四.反转链表题目分析思路分析法①代码法②代码法③代码 五.链表中的两数相加题目…

西南交通大学智能监测 培训课程练习4

2023.056.07和09培训 项目实战 目录 一、infracore(基础核心层) 1.1database 1.2config 1.3util 二、业务领域模块 2.1structure模块 2.1.1domain层 2.1.2application层 2.1.3adapter层 2.2sensor模块 2.2.1domian层 2.2.2application层 2.2.…

一文搞懂什么是Docker

一、什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇…

Java ~ Reference ~ Finalizer【总结】

前言 文章 相关系列:《Java ~ Reference【目录】》(持续更新)相关系列:《Java ~ Reference ~ Finalizer【源码】》(学习过程/多有漏误/仅作参考/不再更新)相关系列:《Java ~ Reference ~ Final…

基于Python的接口自动化-Requests模块

目录 引言 一、模块说明 二、Requests模块快速入门 1 发送简单的请求 2 发送带参数的请求 3 定制header头和cookie 4 响应内容 5 发送post请求 6 超时和代理 三、Requests实际应用 引言 在使用Python进行接口自动化测试时,实现接口请求…

2023春期末考试选择题R2-9AVL树插入调整详解

题目: 将 8, 9, 7, 2, 3, 5, 6, 4 顺序插入一棵初始为空的AVL树。下列句子中哪句是错的? A. 4 和 6 是兄弟 B. 5 是 8 的父结点 C. 7 是根结点 D. 3 和 8 是兄弟 解题要点: 需要对AVL树的4种旋转方式熟悉。 AVL旋转过程: 根据…

体验ChatGPT使用

ChatGPT是一种基于GPT(Generative Pre-train Transformer)模型的大型语言模型,由OpenAI公司开发。 交互时,有一定的技巧,可以快速准确的反馈正确答案。 一、开发贪吃蛇游戏 浏览器访问:https://chat.opena…

taro使用小记 —— 持续更新

目录 1、在 taro 中使用 axios2、在 taro 中添加全局组件自动引入和方法自动引入3、在 taro 中使用 pinia 1、在 taro 中使用 axios taro 3.6 版本已经支持了网络请求库。 需安装插件 tarojs/plugin-http 使用和注意事项说明: https://www.npmjs.com/package/taroj…

【笔试强训选择题】Day22.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!! 文章目录 前言 一、…