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 相关文章推荐
非常好的js代码
Jun 27 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
Apr 07 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 Javascript
JavaScript 学习笔记之操作符(续)
Jan 14 Javascript
jQuery的one()方法用法实例
Jan 19 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
Apr 25 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
vue基础之事件v-onclick="函数"用法示例
Mar 11 Javascript
微信小程序Page中data数据操作和函数调用方法
May 08 Javascript
关于微信小程序map组件z-index的层级问题分析
Jul 09 Javascript
使用node-media-server搭建一个简易的流媒体服务器
Jan 20 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中SimpleXML函数用法分析
2014/11/26 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
Python重新引入被覆盖的自带function
2014/07/16 Python
深入理解Python 代码优化详解
2014/10/27 Python
python Django框架实现自定义表单提交
2016/03/25 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
重构Python代码的六个实例
2020/11/25 Python
python实现按日期归档文件
2021/01/30 Python
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
员工晚婚的请假条
2014/02/08 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
给学校的建议书范文
2014/05/15 职场文书
竞赛口号大全
2014/06/16 职场文书
统计员岗位职责
2015/02/11 职场文书