CentOS 8.2服务器上安装最新版Node.js的方法


Posted in Javascript onDecember 16, 2020

Node.js是一个开源JavaScript运行时环境。在这里,您将学习如何在CentOS 8服务器上安装Node.js。

什么是Node.js?

Node.js是一个开放源代码,跨平台的后端JavaScript运行时环境,可在Web浏览器外部执行JavaScript代码。Node.js使开发人员可以使用JavaScript编写命令行工具并进行服务器端脚本编写,即在服务器端运行脚本以在将页面发送到用户的Web浏览器之前生成动态网页内容。因此,Node.js代表了一个“ JavaScript无处不在”范例,统一了单一编程语言(而不是服务器端和客户端脚本的不同语言)的Web应用程序开发。(来源:维基百科)

Node.js用C,C ++和JavaScript编写。Node.js是根据MIT许可证分发的,可以从Node.js官方网站或Node.js Github存储库下载。

环境规格:

我们已配备了具有以下规格的最小CentOS 8 KVM计算机。

  • CPU - 2C
  • 内存-4 GB
  • 储存空间-20 GB
  • 作业系统-CentOS 8.2
  • 主机名? nodejs-01.lianglab.cn
  • IP地址-192.168.6.175

更新Linux软件包:

使用ssh客户端作为root用户与nodejs-01.centlinux.com连接。

按照最佳实践,使用dnf命令更新Linux服务器上已安装的软件包。

[root@nodejs-01 ~]# dnf update -y
Dependencies resolved.
Nothing to do.
Complete!

我们的Linux操作系统已经是最新的。因此,没有更新任何程序包。在您的Linux服务器上,输出可能会有所不同。

验证本安装指南中使用的Linux操作系统和内核版本。

[root@nodejs-01 ~]# uname -r
4.18.0-193.el8.x86_64
[root@nodejs-01 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

Linux Yum存储库安装Node.js:

在CentOS 8上安装Node.js的最简单方法是使用Linux yum存储库。

在CentOS 8 yum存储库中,有两个稳定的Node.js版本。这些是最常用的Node.js版本,可以在大多数情况下使用。

要获取Linux yum存储库中可用的Node.js版本列表,可以使用以下dnf命令。

[root@nodejs-01 ~]# dnf module list nodejs
Last metadata expiration check: 0:19:08 ago on Tue 15 Dec 2020 08:46:52 PM CST.
CentOS-8 - AppStream - mirrors.tongdun.cn
Name  Stream Profiles         Summary    
nodejs  10 [d] common [d], development, minimal, s2i Javascript runtime 
nodejs  12  common [d], development, minimal, s2i Javascript runtime 

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@nodejs-01 ~]#

CentOS 8.2服务器上安装最新版Node.js的方法

使用dnf命令安装所需版本的Node.js ,我们正在Linux服务器上安装Node.js v12。

[root@nodejs-01 ~]# dnf module install -y nodejs:12
Last metadata expiration check: 0:21:06 ago on Tue 15 Dec 2020 08:46:52 PM CST.
Dependencies resolved.
===================================================================================
 Package   Arch Version         Repo  Size
===================================================================================
Installing group/module packages:
 nodejs   x86_64 1:12.18.4-2.module_el8.2.0+530+cb1b9c8b AppStream 10 M
 npm    x86_64 1:6.14.6-1.12.18.4.2.module_el8.2.0+530+cb1b9c8b
                 AppStream 3.8 M
Installing weak dependencies:
 nodejs-docs  noarch 1:12.18.4-2.module_el8.2.0+530+cb1b9c8b AppStream 4.0 M
 nodejs-full-i18n x86_64 1:12.18.4-2.module_el8.2.0+530+cb1b9c8b AppStream 7.5 M
Installing module profiles:
 nodejs/common                 
Enabling module streams:
 nodejs     12              

Transaction Summary
===================================================================================
Install 4 Packages

Total download size: 26 M
Installed size: 109 M
Downloading Packages:
(1/4): nodejs-docs-12.18.4-2.module_el8.2.0+530+cb 32 MB/s | 4.0 MB  00:00 
(2/4): nodejs-full-i18n-12.18.4-2.module_el8.2.0+5 27 MB/s | 7.5 MB  00:00 
(3/4): npm-6.14.6-1.12.18.4.2.module_el8.2.0+530+c 22 MB/s | 3.8 MB  00:00 
(4/4): nodejs-12.18.4-2.module_el8.2.0+530+cb1b9c8 28 MB/s | 10 MB  00:00 
-----------------------------------------------------------------------------------
Total            69 MB/s | 26 MB  00:00  
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
 Running scriptlet: npm-1:6.14.6-1.12.18.4.2.module_el8.2.0+530+cb1b9c8b.x8 1/1 
 Preparing  :               1/1 
 Installing  : nodejs-docs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.noa 1/4 
 Installing  : nodejs-full-i18n-1:12.18.4-2.module_el8.2.0+530+cb1b9c8 2/4 
 Installing  : npm-1:6.14.6-1.12.18.4.2.module_el8.2.0+530+cb1b9c8b.x86 3/4 
 Installing  : nodejs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.x86_64  4/4 
 Running scriptlet: nodejs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.x86_64  4/4 
 Verifying  : nodejs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.x86_64  1/4 
 Verifying  : nodejs-docs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.noar 2/4 
 Verifying  : nodejs-full-i18n-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b 3/4 
 Verifying  : npm-1:6.14.6-1.12.18.4.2.module_el8.2.0+530+cb1b9c8b.x86 4/4 
Installed products updated.

Installed:
 nodejs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.x86_64        
 nodejs-docs-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.noarch      
 nodejs-full-i18n-1:12.18.4-2.module_el8.2.0+530+cb1b9c8b.x86_64     
 npm-1:6.14.6-1.12.18.4.2.module_el8.2.0+530+cb1b9c8b.x86_64      

Complete!
[root@nodejs-01 ~]#

CentOS 8.2服务器上安装最新版Node.js的方法

成功安装后,请检查Node.js和Node Package Manager(NPM)版本。

[root@nodejs-01 ~]# node -v
v12.18.4
[root@nodejs-01 ~]# npm -v
6.14.6

CentOS 8.2服务器上安装最新版Node.js的方法

使用NVM安装Node.js:

从Linux yum存储库安装Node.js很方便。但是您可能未在其中找到最新版本的Node.js。

例如,Node.js v14 LTS和v15已经发布,但在Linux yum存储库中不可用。

因此,如果您想安装最新版本的Node.js,则必须使用Node Version Manager(NVM)。

通过使用NVM,您可以轻松地在Linux服务器上安装/卸载不同版本的Node.js。

NVM可从GitHub获得。您可以在NVM Github存储库中查看完整的项目详细信息。

您可以使用NVM文档中提供的脚本来安装NVM。

[root@nodejs-01 ~]# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
 % Total % Received % Xferd Average Speed Time Time  Time Current
         Dload Upload Total Spent Left Speed
100 13527 100 13527 0  0 7056  0 0:00:01 0:00:01 --:--:-- 7052
=> Downloading nvm as script to '/root/.nvm'

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

已经安装了NVM,现在可以使用nvm命令在Linux服务器上安装Node.js。

但是首先,列出可用的Node.js版本。

[root@nodejs-01 ~]# nvm list-remote
...
  v14.10.0
  v14.10.1
  v14.11.0
  v14.12.0
  v14.13.0
  v14.13.1
  v14.14.0
  v14.15.0 (LTS: Fermium)
  v14.15.1 (Latest LTS: Fermium)
  v15.0.0
  v15.0.1
  v15.1.0
  v15.2.0
  v15.2.1

尽管可以使用Node.js v15,但它是安装LTS(长期支持)版本的更好方法,尤其是在生产计算机上安装Node.js时。

您可以使用nvm命令安装最新的LTS版本的Node.js。

[root@nodejs-01 ~]# nvm install --lts
Installing latest LTS version.
Downloading and installing node v14.15.1...
Downloading https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v14.15.1 (npm v6.14.8)
Creating default alias: default -> lts/* (-> v14.15.1)
[root@nodejs-01 ~]# node -v
v14.15.1
[root@nodejs-01 ~]# npm -v
6.14.8

同样,您可以使用NVM切换到另一个版本的Node.js,如下所示。

[root@nodejs-01 ~]# nvm install v13.6.0
Downloading and installing node v13.6.0...
Downloading https://nodejs.org/dist/v13.6.0/node-v13.6.0-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v13.6.0 (npm v6.13.4)

再次检查Node.js和NPM的安装版本。

[root@nodejs-01 ~]# node -v
v13.6.0
[root@nodejs-01 ~]# npm -v
6.13.4

创建和部署一个简单的Node.js应用程序:

您可以通过编写简单的JavaScript来测试Node.js服务器。

在vim编辑器中创建一个文本文件。

[root@nodejs-01 ~]# vi Node.js_test.js

在此文件中添加以下代码行。

const http = require('http');
const port = 9000;
const server = http.createServer((req, res) => {
 res.writeHead(200, {'Content-Type': 'text/plain'});
 res.end('Hello World Welcome lianglab\n');
});
server.listen(port, () => {
 console.log(`Server running at http://your-ip-address:${port}/`);
});

暂时允许服务端口9000 / TCP在Linux的防火墙。

[root@nodejs-01 ~]# firewall-cmd --add-port=9000/tcp
success

使用以下命令启动Node.js调试器进程。

[root@nodejs-01 src]# node --inspect Node.js_test.js
Debugger listening on ws://127.0.0.1:9229/a8393109-3aa9-41b0-8cca-0d8da13a67eb
For help, see: https://nodejs.org/en/docs/inspector
Server running at http://your-ip-address:9000/

使用Web浏览器或遵循Linux命令来测试您的Node.js应用程序。

[root@kvm-d-006188 tmp]# curl http://192.168.6.175:9000
Hello World Welcome lianglab
[root@kvm-d-006188 tmp]#

CentOS 8.2服务器上安装最新版Node.js的方法

到此这篇关于CentOS 8.2服务器上安装最新版Node.js的文章就介绍到这了,更多相关CentOS 8.2安装Node.js内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
js查找节点的方法小结
Jan 13 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
js实现四舍五入完全保留两位小数的方法
Aug 02 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
JS经典正则表达式笔试题汇总
Dec 15 Javascript
简单谈谈JS中的正则表达式
Sep 11 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
JS异步错误捕获的一些事小结
Apr 26 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
Jul 17 Javascript
原生JS实现拖拽功能
Dec 16 #Javascript
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 #Vue.js
vue实现图片裁剪后上传
Dec 16 #Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 #Vue.js
JS创建自定义对象的六种方法总结
Dec 15 #Javascript
npm全局环境变量配置详解
Dec 15 #Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 #Vue.js
You might like
如何正确理解PHP的错误信息
2006/10/09 PHP
php实现搜索类封装示例
2016/03/31 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
JavaScript 学习技巧
2010/02/17 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
python实现决策树分类
2018/08/30 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
python实现字符串和数字拼接
2020/03/02 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
python中元组的用法整理
2020/06/15 Python
简述python Scrapy框架
2020/08/17 Python
小学生自我鉴定
2013/10/12 职场文书
社区工作感言
2014/02/21 职场文书
淘宝活动总结范文
2014/06/26 职场文书
给医院的感谢信
2015/01/21 职场文书
英语辞职信范文
2015/02/28 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
Mysql开启外网访问
2022/05/15 MySQL
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android