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 日期转换成中文格式的函数
Jul 07 Javascript
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
js chrome浏览器判断代码
Mar 28 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
AngularJs html compiler详解及示例代码
Sep 01 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
Sep 16 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
JavaScript 10件让人费解的事情
2010/02/15 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
浅析Python多线程下的变量问题
2015/04/28 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
python实现textrank关键词提取
2018/06/22 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
初学者学习Python好还是Java好
2020/05/26 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
经典优秀个人求职信分享
2013/12/12 职场文书
商场中秋节活动方案
2014/02/07 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
导游词开场白
2015/01/31 职场文书
李白故里导游词
2015/02/12 职场文书
英语演讲开场白
2015/05/29 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python