CentOS 8.2服務(wù)器上安裝最新版Node.js的方法
Node.js是一個(gè)開(kāi)源JavaScript運(yùn)行時(shí)環(huán)境。在這里,您將學(xué)習(xí)如何在CentOS 8服務(wù)器上安裝Node.js。
什么是Node.js?
Node.js是一個(gè)開(kāi)放源代碼,跨平臺(tái)的后端JavaScript運(yùn)行時(shí)環(huán)境,可在Web瀏覽器外部執(zhí)行JavaScript代碼。Node.js使開(kāi)發(fā)人員可以使用JavaScript編寫(xiě)命令行工具并進(jìn)行服務(wù)器端腳本編寫(xiě),即在服務(wù)器端運(yùn)行腳本以在將頁(yè)面發(fā)送到用戶(hù)的Web瀏覽器之前生成動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容。因此,Node.js代表了一個(gè)“ JavaScript無(wú)處不在”范例,統(tǒng)一了單一編程語(yǔ)言(而不是服務(wù)器端和客戶(hù)端腳本的不同語(yǔ)言)的Web應(yīng)用程序開(kāi)發(fā)。(來(lái)源:維基百科)
Node.js用C,C ++和JavaScript編寫(xiě)。Node.js是根據(jù)MIT許可證分發(fā)的,可以從Node.js官方網(wǎng)站或Node.js Github存儲(chǔ)庫(kù)下載。
環(huán)境規(guī)格:
我們已配備了具有以下規(guī)格的最小CentOS 8 KVM計(jì)算機(jī)。
- CPU - 2C
- 內(nèi)存-4 GB
- 儲(chǔ)存空間-20 GB
- 作業(yè)系統(tǒng)-CentOS 8.2
- 主機(jī)名– nodejs-01.lianglab.cn
- IP地址-192.168.6.175
更新Linux軟件包:
使用ssh客戶(hù)端作為root用戶(hù)與nodejs-01.centlinux.com連接。
按照最佳實(shí)踐,使用dnf命令更新Linux服務(wù)器上已安裝的軟件包。
[root@nodejs-01 ~]# dnf update -y Dependencies resolved. Nothing to do. Complete!
我們的Linux操作系統(tǒng)已經(jīng)是最新的。因此,沒(méi)有更新任何程序包。在您的Linux服務(wù)器上,輸出可能會(huì)有所不同。
驗(yàn)證本安裝指南中使用的Linux操作系統(tǒng)和內(nèi)核版本。
[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存儲(chǔ)庫(kù)安裝Node.js:
在CentOS 8上安裝Node.js的最簡(jiǎn)單方法是使用Linux yum存儲(chǔ)庫(kù)。
在CentOS 8 yum存儲(chǔ)庫(kù)中,有兩個(gè)穩(wěn)定的Node.js版本。這些是最常用的Node.js版本,可以在大多數(shù)情況下使用。
要獲取Linux yum存儲(chǔ)庫(kù)中可用的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 ~]#

使用dnf命令安裝所需版本的Node.js ,我們正在Linux服務(wù)器上安裝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 ~]#

成功安裝后,請(qǐng)檢查Node.js和Node Package Manager(NPM)版本。
[root@nodejs-01 ~]# node -v v12.18.4 [root@nodejs-01 ~]# npm -v 6.14.6

使用NVM安裝Node.js:
從Linux yum存儲(chǔ)庫(kù)安裝Node.js很方便。但是您可能未在其中找到最新版本的Node.js。
例如,Node.js v14 LTS和v15已經(jīng)發(fā)布,但在Linux yum存儲(chǔ)庫(kù)中不可用。
因此,如果您想安裝最新版本的Node.js,則必須使用Node Version Manager(NVM)。
通過(guò)使用NVM,您可以輕松地在Linux服務(wù)器上安裝/卸載不同版本的Node.js。
NVM可從GitHub獲得。您可以在NVM Github存儲(chǔ)庫(kù)中查看完整的項(xiàng)目詳細(xì)信息。
您可以使用NVM文檔中提供的腳本來(lái)安裝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
已經(jīng)安裝了NVM,現(xiàn)在可以使用nvm命令在Linux服務(wù)器上安裝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(長(zhǎng)期支持)版本的更好方法,尤其是在生產(chǎn)計(jì)算機(jī)上安裝Node.js時(shí)。
您可以使用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切換到另一個(gè)版本的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
創(chuàng)建和部署一個(gè)簡(jiǎn)單的Node.js應(yīng)用程序:
您可以通過(guò)編寫(xiě)簡(jiǎn)單的JavaScript來(lái)測(cè)試Node.js服務(wù)器。
在vim編輯器中創(chuàng)建一個(gè)文本文件。
[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}/`);
});
暫時(shí)允許服務(wù)端口9000 / TCP在Linux的防火墻。
[root@nodejs-01 ~]# firewall-cmd --add-port=9000/tcp success
使用以下命令啟動(dòng)Node.js調(diào)試器進(jìn)程。
[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命令來(lái)測(cè)試您的Node.js應(yīng)用程序。
[root@kvm-d-006188 tmp]# curl http://192.168.6.175:9000 Hello World Welcome lianglab [root@kvm-d-006188 tmp]#

到此這篇關(guān)于CentOS 8.2服務(wù)器上安裝最新版Node.js的文章就介紹到這了,更多相關(guān)CentOS 8.2安裝Node.js內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nodejs下用submit提交表單提示cannot post錯(cuò)誤的解決方法
這篇文章主要介紹了Nodejs下用submit提交表單提示cannot post錯(cuò)誤的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-11-11
package.json與package-lock.json創(chuàng)建及使用詳解
這篇文章主要為大家介紹了package.json與package-lock.json創(chuàng)建及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
node.js中module模塊的功能理解與用法實(shí)例分析
這篇文章主要介紹了node.js中module模塊的功能理解與用法,結(jié)合實(shí)例形式分析了node.js module模塊的基本功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
解決淘寶cnpm 安裝后cnpm不是內(nèi)部或外部命令的問(wèn)題
今天小編就為大家分享一篇解決淘寶cnpm 安裝后cnpm不是內(nèi)部或外部命令的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05

