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 相关文章推荐
Javascript继承机制的设计思想分享
Aug 28 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
如何在Linux上安装Node.js
Apr 01 Javascript
简介BootStrap model弹出框的使用
Apr 27 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
jquery判断页面网址是否有效的两种方法
Dec 11 Javascript
Vue2.0实现购物车功能
Jun 05 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
Aug 21 Javascript
Layui 解决表格异步调用后台分页的问题
Oct 26 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+MySql编写聊天室
2006/10/09 PHP
PHP源码之explode使用说明
2011/08/05 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
Python构建图像分类识别器的方法
2019/01/12 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
付款承诺函范文
2015/01/21 职场文书
高一数学教学反思
2016/02/18 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python