更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Rocky 8/AlmaLinux 8上安装和使用Node.js 20 LTS

在Rocky 8/AlmaLinux 8上安装和使用Node.js 20 LTS

更新时间:2023-06-18 09:31:38浏览次数:385+次

本文介绍如何在Rocky 8/AlmaLinux 8系统上安装和使用Node.js 20 LTS的方法,包括介绍设置默认Node.JS版本、运行Node.JS应用程序及将PM2用于Node.JS应用程序。

1、在Rocky 8/AlmaLinux 8上安装Node.js 20 LTS

有两种安装方法,它们是使用YUM存储库及使用NVM,下面分别介绍。

选项1:使用YUM安装Node.js 20 LTS

Node.js 20 LTS可以使用YUM存储库安装在Rocky 8/AlmaLinux 8上。这涉及到将存储库添加到系统中,因为默认的repos只提供Node.js 10。下面,请执行以下操作:

$ dnf provides nodejs

ocky Linux 8 - AppStream   16 MB/s | 9.1 MB  00:00

Rocky Linux 8 - BaseOS   6.9 MB/s | 2.8 MB  00:00

Rocky Linux 8 - Extras   43 kB/s |  13 kB  00:00

nodejs-1:10.24.0-1.module+el8.3.0+101+f84c7154.x86_64: JavaScript runtime

Repo: appstream

Matched from:

Provide: nodejs = 1:10.24.0-1.module+el8.3.0+101+f84c7154

要想能够安装Node.js 20 LTS,请添加存储库:

curl -sL https://rpm.nodesource.com/setup_20.x | sudo -E bash -

删除任何NodeJS安装:

sudo dnf remove nodejs -y

Node.js 20 LTS可以使用以下命令安装在Rocky 8/AlmaLinux 8上:

sudo dnf install nodejs

依赖关系树:

Transaction Summary

Install  1 Package

Total download size: 36 M

Installed size: 104 M

Is this ok [y/N]: y

安装后,验证:

$ node -v

v20.2.0

您也可以检查NPM版本:

$ npm -v

9.6.6

选项2:使用NVM安装Node.js 20 LTS

Node版本管理,通常称为NVM,也可以用于安装所需版本的Node.js。首先,确保将其添加到您的系统中:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

获取您的个人资料:

source ~/.bashrc

此外,启用NVM的TAB completion:

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

验证NVM安装:

$ nvm --version

0.39.3

然后,您可以使用以下命令安装Node.JS 20 LTS:

$ nvm install 20

Downloading and installing node v20.2.0

Downloading https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-x64.tar.xz

###################################### 100.0%

Computing checksum with sha256sum

Checksums matched!

Now using node v20.2.0 (npm v9.6.6)

Creating default alias: default -> 20 (-> v20.2.0)

要安装最新的LTS版本,请使用:

nvm install --lts

验证安装:

$ node --version

v20.2.0

2、设置默认Node.JS版本

NVM还可以用于管理系统上安装的多个Node.JS版本。要列出已安装和可用的版本,请使用:

$ nvm ls

\

要更改为另一个所需的Node.JS版本,例如Node.JS 16,请使用:

$ nvm use 16

Now using node v16.20.0 (npm v8.19.4)

要将其设置为默认版本,请使用:

$ nvm alias default 16

default -> 16 (-> v16.20.0)

现在验证更改:

$ node -v

v16.20.0

3、运行Node.JS应用程序

为了测试Node.JS 20 LTS是否正常工作,我们可以运行一个简单的HelloWorld应用程序。首先,我们需要安装所有必需的应用程序:

sudo dnf install gcc-c++ make -y

现在我们将创建应用程序目录:

sudo mkdir /helloworld && cd /helloworld

sudo chmod 777  /helloworld

创建简单的应用程序:

$ vim Helloworld.js

const http = require('http');

const hostname = '0.0.0.0';

const port = 8080;

const server = http.createServer((req, res) => {

  res.statusCode = 200;

  res.setHeader('Content-Type', 'text/plain');

  res.end('Hello World! Node.JS 20 LTS is working Perfectly!');

});

server.listen(port, hostname, () => {

  console.log(`Server running at http://${hostname}:${port}/`);

});

现在保存文件并允许端口通过防火墙:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

sudo firewall-cmd --reload

要运行应用程序,请使用:

node Helloworld.js

如果一切顺利,您应该会看到以下输出:

Server running at http://0.0.0.0:8080/

然后,您可以使用URL通过网络浏览器访问该应用程序,地址格式为http://IP_Address:8080,如下图所示:

\

要停止实例,请使用CTRL+C快捷键。

4、将PM2用于Node.JS应用程序

Node.JS应用程序有时很难管理,PM2可以让Node.JS的应用程序在后台运行,并在启动时自动启用。

首先,使用以下命令进行安装:

sudo npm install -g pm2

为了能够管理应用程序,我们需要创建一个生态系统文件:

vim /helloworld/ecosystem.config.js

在文件中,我们需要定义我们的应用程序名称和路径:

module.exports = {

  apps : [{

    name   : "Helloworld",

    script : "./Helloworld.js"

  }]

}

使用以下命令启动应用程序:

pm2 start ecosystem.config.js

该应用程序现在将在后台运行,可以在此处看到下图:

\

要在系统重新启动后启用应用程序的自动启动,请使用:

$ pm2 startup

[PM2] Init System found: systemd

[PM2] To setup the Startup Script, copy/paste the following command:

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u rocky8 --hp /home/rocky8

运行提供的命令:

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u rocky8 --hp /home/rocky8

保存更改:

pm2 save

我们还需要配置SELinux上下文,首先切换到App目录:

cd /helloworld

安装所需的SELinux工具:

sudo dnf install policycoreutils policycoreutils-python-utils setools setroubleshoot setroubleshoot-server

切换到根用户并将SELinux设置为允许模式:

sudo su

setenforce 0

为应用程序设置以下SELinux策略模块:

setsebool -P domain_can_mmap_files 1

现在将SELinux切换回强制模式:

setenforce 1

现在,您的应用程序将能够在系统启动时自动启动。

您可以使用以下命令管理应用程序:

1]、启动所有应用程序

pm2 start ecosystem.config.js

2]、全部停止

pm2 stop ecosystem.config.js

3]、全部重新启动

pm2 restart ecosystem.config.js

4]、全部重新加载

pm2 reload ecosystem.config.js

5]、全部删除

pm2 delete ecosystem.config.js

6]、删除初始化脚本

pm2 unstartup systemd

到这里,将PM2用于Node.JS应用程序的操作就全部完成了。