牛奶味的巧克力 發表於 2020-12-15 21:30:00

CentOS 8.2服务器上安装最新版Node.js

<p>Node.js是一个开源JavaScript运行时环境。在这里,您将学习如何在CentOS 8服务器上安装Node.js。</p>
<h2 id="目录">目录:</h2>
<ul>
<li>[什么是Node.js?]</li>
<li>[环境规格]</li>
<li>[更新Linux软件包]</li>
<li>[从Linux Yum存储库安装Node.js]</li>
<li>[使用NVM安装Node.js]</li>
<li>[创建和部署简单的Node.js应用程序]</li>
<li>[结论]</li>
</ul>
<h2 id="什么是nodejs">什么是Node.js?</h2>
<p>Node.js是一个开放源代码,跨平台的后端JavaScript运行时环境,可在Web浏览器外部执行JavaScript代码。Node.js使开发人员可以使用JavaScript编写命令行工具并进行服务器端脚本编写,即在服务器端运行脚本以在将页面发送到用户的Web浏览器之前生成动态网页内容。因此,Node.js代表了一个“ JavaScript无处不在”范例,统一了单一编程语言(而不是服务器端和客户端脚本的不同语言)的Web应用程序开发。(来源:维基百科)</p>
<p>Node.js用C,C ++和JavaScript编写。Node.js是根据<strong>MIT许可证</strong>分发的,可以从Node.js官方网站或Node.js Github存储库下载。</p>
<h2 id="环境规格">环境规格:</h2>
<p>我们已配备了具有以下规格的[最小CentOS 8 KVM]计算机。</p>
<ul>
<li><strong>CPU</strong> - 2C</li>
<li><strong>内存</strong>-4 GB</li>
<li><strong>储存空间</strong>-20 GB</li>
<li><strong>作业系统</strong>-CentOS 8.2</li>
<li><strong>主机名</strong>– nodejs-01.lianglab.cn</li>
<li><strong>IP地址</strong>-192.168.6.175</li>
</ul>
<h2 id="更新linux软件包">更新Linux软件包:</h2>
<p>使用ssh客户端作为<strong>root</strong>用户与<strong>nodejs-01.centlinux.com</strong>连接。</p>
<p>按照最佳实践,使用<strong>dnf</strong>命令更新Linux服务器上已安装的软件包。</p>
<pre><code class="language-shell"># dnf update -y
Dependencies resolved.
Nothing to do.
Complete!
</code></pre>
<p>我们的Linux操作系统已经是最新的。因此,没有更新任何程序包。在您的Linux服务器上,输出可能会有所不同。</p>
<p>验证本安装指南中使用的Linux操作系统和内核版本。</p>
<pre><code class="language-shell"># uname -r
4.18.0-193.el8.x86_64
# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
</code></pre>
<h2 id="linux-yum存储库安装nodejs">Linux Yum存储库安装Node.js:</h2>
<p>在CentOS 8上安装Node.js的最简单方法是使用Linux yum存储库。</p>
<p>在CentOS 8 yum存储库中,有两个稳定的Node.js版本。这些是最常用的Node.js版本,可以在大多数情况下使用。</p>
<p>要获取Linux yum存储库中可用的Node.js版本列表,可以使用以下<strong>dnf</strong>命令。</p>
<pre><code class="language-shell"># 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     common , development, minimal, s2i    Javascript runtime   
nodejs   12      common , development, minimal, s2i    Javascript runtime   

Hint: efault, nabled, disabled, nstalled
#

</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/2183860/202012/2183860-20201215235142304-1966095845.png" alt="" loading="lazy"></p>
<p>使用<strong>dnf</strong>命令安装所需版本的Node.js ,我们正在Linux服务器上安装<strong>Node.js v12</strong>。</p>
<pre><code># 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   AppStream10 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
===================================================================================
Install4 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+cb32 MB/s | 4.0 MB   00:00   
(2/4): nodejs-full-i18n-12.18.4-2.module_el8.2.0+527 MB/s | 7.5 MB   00:00   
(3/4): npm-6.14.6-1.12.18.4.2.module_el8.2.0+530+c22 MB/s | 3.8 MB   00:00   
(4/4): nodejs-12.18.4-2.module_el8.2.0+530+cb1b9c828 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!
#

</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/2183860/202012/2183860-20201215235156016-1774328179.png" alt="" loading="lazy"></p>
<p>成功安装后,请检查Node.js和Node Package Manager(NPM)版本。</p>
<pre><code class="language-shell"># node -v
v12.18.4
# npm -v
6.14.6

</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/2183860/202012/2183860-20201215235205202-1338552371.png" alt="" loading="lazy"></p>
<h2 id="使用nvm安装nodejs">使用NVM安装Node.js:</h2>
<p>从Linux yum存储库安装Node.js很方便。但是您可能未在其中找到最新版本的Node.js。</p>
<p>例如,<strong>Node.js v14 LTS</strong>和<strong>v15</strong>已经发布,但在Linux yum存储库中不可用。</p>
<p>因此,如果您想安装最新版本的Node.js,则必须使用<strong>Node Version Manager(NVM)</strong>。</p>
<p>通过使用NVM,您可以轻松地在Linux服务器上安装/卸载不同版本的Node.js。</p>
<p>NVM可从GitHub获得。您可以在NVM Github存储库中查看完整的项目详细信息。</p>
<p>您可以使用NVM文档中提供的脚本来安装NVM。</p>
<pre><code># curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
% Total    % Received % XferdAverage Speed   Time    Time   TimeCurrent
                                 DloadUpload   Total   Spent    LeftSpeed
100 13527100 13527    0   0   7056      00:00:010:00:01 --:--:--7052
=&gt; Downloading nvm as script to '/root/.nvm'

=&gt; Appending nvm source string to /root/.bashrc
=&gt; Appending bash_completion source string to /root/.bashrc
=&gt; 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" ] &amp;&amp; \. "$NVM_DIR/nvm.sh"# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] &amp;&amp; \. "$NVM_DIR/bash_completion"# This loads nvm bash_completion
</code></pre>
<p>已经安装了NVM,现在可以使用nvm命令在Linux服务器上安装Node.js。</p>
<p>但是首先,列出可用的Node.js版本。</p>
<pre><code># 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
</code></pre>
<p>尽管可以使用<strong>Node.js v15</strong>,但它是安装<strong>LTS(长期支持)</strong>版本的更好方法,尤其是在生产计算机上安装Node.js时。</p>
<p>您可以使用<strong>nvm</strong>命令安装最新的LTS版本的<strong>Node.js。</strong></p>
<pre><code># 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 -&gt; lts/* (-&gt; v14.15.1)
</code></pre>
<p>验证Node.js和Node Package Manager(NPM)的安装版本。</p>
<pre><code># node -v
v14.15.1
# npm -v
6.14.8
</code></pre>
<p>同样,您可以使用NVM切换到另一个版本的Node.js,如下所示。</p>
<pre><code># 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)
</code></pre>
<p>再次检查Node.js和NPM的安装版本。</p>
<pre><code># node -v
v13.6.0
# npm -v
6.13.4
</code></pre>
<h2 id="创建和部署一个简单的nodejs应用程序">创建和部署一个简单的Node.js应用程序:</h2>
<p>您可以通过编写简单的JavaScript来测试Node.js服务器。</p>
<p>在<strong>vim</strong>编辑器中创建一个文本文件。</p>
<pre><code># vi Node.js_test.js
</code></pre>
<p>在此文件中添加以下代码行。</p>
<pre><code class="language-js">const http = require('http');
const port = 9000;
const server = http.createServer((req, res) =&gt; {
   res.writeHead(200, {'Content-Type': 'text/plain'});
   res.end('Hello World Welcome lianglab\n');
});
server.listen(port, () =&gt; {
console.log(`Server running at http://your-ip-address:${port}/`);
});
</code></pre>
<p>暂时允许服务端口<strong>9000 / TCP</strong>在Linux的防火墙。</p>
<pre><code class="language-shell"># firewall-cmd --add-port=9000/tcp
success
</code></pre>
<p>使用以下命令启动Node.js调试器进程。</p>
<pre><code class="language-shell"># 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/

</code></pre>
<p>使用Web浏览器或遵循Linux命令来测试您的Node.js应用程序。</p>
<pre><code class="language-shell">#curl http://192.168.6.175:9000
Hello World Welcome lianglab
#

</code></pre>
<h2 id="广告时间">广告时间:</h2>
<hr>
<ul>
<li><strong>关于我</strong> :全国7*24高效代维服务</li>
<li><strong>微信</strong>:lianglab</li>
<li><strong>QQ</strong>:867266199</li>
<li><strong>淘宝店</strong>:全国7*24高效代维服务</li>
<li><strong>全国高效代维</strong>:为中小型企业,提供云计算咨询代维、架构设计、降低成本。</li>
</ul>
<p><img src="https://img2020.cnblogs.com/blog/2183860/202012/2183860-20201215235223533-768806823.png" alt="" loading="lazy"></p>


</div>
<div id="MySignature" role="contentinfo">
    作者:zhangliangliang
出处:http://www.cnblogs.com/lianglab/

本文版权归作者和博客园共有,写文不易,支持原创,欢迎转载【点赞】,转载请保留此段声明,且在文章页面明显位置给出原文连接,谢谢。<br><br>
来源:https://www.cnblogs.com/lianglab/p/14141145.html
頁: [1]
查看完整版本: CentOS 8.2服务器上安装最新版Node.js