zoukankan      html  css  js  c++  java
  • CentOS 8.2服务器上安装最新版Node.js

    Node.js是一个开源JavaScript运行时环境。在这里,您将学习如何在CentOS 8服务器上安装Node.js。

    目录:

    • [什么是Node.js?]
    • [环境规格]
    • [更新Linux软件包]
    • [从Linux Yum存储库安装Node.js]
    • [使用NVM安装Node.js]
    • [创建和部署简单的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 ~]# 
    
    

    使用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
    
    

    使用NVM安装Node.js:

    从Linux yum存储库安装Node.js很方便。但是您可能未在其中找到最新版本的Node.js。

    例如,Node.js v14 LTSv15已经发布,但在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)
    

    验证Node.js和Node Package Manager(NPM)的安装版本。

    [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
    ');
    });
    server.listen(port, () => {
      console.log(`Server running at http://your-ip-address:${port}/`);
    });
    

    暂时允许服务端口9000 / TCPLinux的防火墙

    [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]# 
    
    

    广告时间:


    • 关于我 :全国7*24高效代维服务
    • 微信:lianglab
    • QQ:867266199
    • 淘宝店全国7*24高效代维服务
    • 全国高效代维:为中小型企业,提供云计算咨询代维、架构设计、降低成本。

  • 相关阅读:
    mysql常用的语句示例
    node的模块机制
    mongodb的一些技术点
    php的权限设置流程
    linux常用命令大全
    通过centos7.2搭建个人博客--------------服务器篇
    详解vuex时光机
    详解位运算符的一些特点
    一位资深程序员大牛给予Java初学者的学习路线建议
    JDBC
  • 原文地址:https://www.cnblogs.com/lianglab/p/14141145.html
Copyright © 2011-2022 走看看