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 相关文章推荐
jQuery 研究心得 取得属性的值
Nov 30 Javascript
Mootools 1.2教程 同时进行多个形变动画
Sep 15 Javascript
jquery实现pager控件示例
Apr 09 Javascript
javascript框架设计读书笔记之数组的扩展与修复
Dec 02 Javascript
node.js中的path.isAbsolute方法使用说明
Dec 08 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
Mar 05 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
Feb 13 Javascript
VUE实现表单元素双向绑定(总结)
Aug 08 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
微信小程序表单弹窗实例
Jul 19 Javascript
对Vue beforeRouteEnter 的next执行时机详解
Aug 25 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
Sep 30 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数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
vue实现数字滚动效果
2020/06/29 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
详解python3百度指数抓取实例
2016/12/12 Python
python列表的增删改查实例代码
2018/01/30 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python 处理string到hex脚本的方法
2018/10/26 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
Python自动抢红包教程详解
2019/06/11 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
水利学院求职自荐书
2014/02/01 职场文书
班长自荐书范文
2014/02/11 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL
详解Python中*args和**kwargs的使用
2022/04/07 Python
git中cherry-pick命令的使用教程
2022/06/25 Servers