时间:2021-09-23 08:45:06 | 栏目:NodeJS | 点击:次
Node.js是一个开源JavaScript运行时环境。在这里,您将学习如何在CentOS 8服务器上安装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计算机。
使用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)
在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 ~]#
使用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 ~]#
成功安装后,请检查Node.js和Node Package Manager(NPM)版本。
[root@nodejs-01 ~]# node -v v12.18.4 [root@nodejs-01 ~]# npm -v 6.14.6
从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
您可以通过编写简单的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]#