Node.js 是一个开源平台,可以帮助 JavaScript 用户在网络浏览器之外执行他们的代码。它是一个免费的解决方案,几乎可以在任何操作系统上运行良好。在托管方面,VPS 服务器提供了一个完美的环境来将Node.js 应用程序与开发人员工具和 API 集成。让我们看看在托管和自我管理的 VPS 服务器上使用 Node.js 需要做什么。
什么是 Node.js?
Node.js 是一个跨平台的、事件驱动的JavaScript 运行时环境。它基于 Chrome 的 V8 JavaScript 引擎以及其他开发框架(如 MongoDB、Express.js 和 AngularJS)构建。Node.js 允许您使用 JavaScript 创建 Web 服务器、网络工具和负责许多核心功能的模块。
由于 Node.js 仅适用于 JavaScript,因此更广泛的开发人员社区可以访问它。同时,其模块使用的 API简化了编写服务器应用程序的过程。
虽然您可以在没有它的情况下运行您的 NodeJS 应用程序,但专家建议安装npm – Node.js 的官方包管理器。它由一个客户端和一个包含超过 100 万个免费和付费包的在线数据库(npm 注册表)组成。多亏了 npm,来自世界各地的开发人员可以利用大量现成的资源来帮助他们加快开发过程。
为什么选择 Node.js?
Node.js 为表格带来了许多优势。首先,它已经是一个快如闪电的脚本环境,而且由于它是建立在谷歌的引擎上的,它的性能可能会随着时间的推移而提高。npm 注册表也在扩展,因此开发人员将来可能更容易找到他们正在寻找的东西。
不过,速度远非 Node.js 唯一出名的地方。在 Internet 上阅读它,您会发现大多数人广泛谈论它的异步、事件驱动的架构。
让我们仔细研究一下,看看开发人员如何从中受益。
要了解它的工作原理,我们需要将它与其中一种替代方案进行比较。世界上几乎 80% 的网站都使用 PHP,因此我们将以它为例。如果 PHP 应用程序被要求打开一个文件,它在打开该文件之前不会处理任何其他请求。所有后续请求都取决于第一个请求的执行。
相比之下,Node.js 的架构是异步的,这意味着可以同时处理多个请求。一个请求不需要等待另一个请求的执行,内容传递效率更高。因此,使用 Node.js 创建的应用程序快速、健壮且易于扩展。
鉴于这一切,难怪像IBM、LinkedIn、Netflix 和 PayPal这样的科技巨头在他们的一些产品的开发过程中使用了 Node.js。
Node.js 的用途是什么?
Node.js 出现于 2009 年,与其他网络技术相比并不算长。尽管如此,它已经证明了它作为一个强大的开发框架的价值,在许多不同领域都有数十种用途。
这是它最闪耀的地方:
聊天应用
高效交付动态内容的能力,加上用于实时 Web 应用程序的 JavaScript 库的存在,使 Node.js 非常适合开发出色的即时消息服务。
浏览器游戏
HTML5和其他技术的发展意味着您现在可以创建出色的基于浏览器的游戏,而无需依赖可怕的 Flash 动画。Node.js 是最好的新替代品之一。
流媒体应用
Node.js 的异步 I/O 再次使流媒体服务能够同时为数十万用户提供实时、高质量的视频。
后端工具
JavaScript 主要与前端开发相关联,但事实是,有一些 JS 库使开发人员能够使用 Node.js 创建快速可靠的命令行应用程序。
Node.js 系统要求
Node.js 的轻量级设计是它在开发人员中如此受欢迎的原因之一。你必须记住,如果你想在 Windows 上使用 Node.js,你需要相当强大的硬件。但是,对于 Linux,资源使用率非常低,您甚至可以在Raspberry Pi 上运行标准的Node.js 应用程序。
有用于ARM 和 64 位架构的 Linux 版本,在 Windows 上,它可以在 32 位和 64 位机器上运行。macOS 服务器需要 64 位芯片来运行 Node.js,并且还有一个用于 Docker 容器的官方镜像。
总而言之,Node.js 可以在大多数现代设置上运行。
安装 Node.js 和 npm
因为它适用于许多不同的操作系统和设置,所以没有一个通用的教程可以向您展示安装 Node.js 的确切步骤。大多数网络托管 VPS 服务器都 在 Linux 上运行,因此我们将重点关注它。然而,即使有了它,安装过程也会因发行版而异。以下是两种最常见的情况。
从 Ubuntu 官方仓库安装 Node.js 和 npm
Node.js 非常流行,足以进入世界上最流行的 Linux 发行版之一——Ubuntu 的官方软件存储库。如果您的 VPS 使用 Ubuntu,安装 Node.js 需要几个简单的步骤。让我们来看看它们。
1. 更新您的 VPS
在安装 Node.js 之前,建议更新 Ubuntu 虚拟服务器的包索引。您可以使用以下命令执行此操作:
sudo apt-get 更新
2.安装Node.js
因为 Node.js 是 Ubuntu 官方存储库的一部分,所以您可以使用一个命令安装它:
sudo apt-get 安装 nodejs
注意:如果您采用这种方法,Ubuntu 将从存储库安装最新的可用包。如果您需要特定版本的 Node.js,则此安装方法不适用。
3.安装npm
再一次,您可以使用一个命令安装 npm 的最新版本:
sudo apt-get 安装 npm
4.验证安装是否成功
确保安装成功的最简单方法是询问 Ubuntu 您当前使用的是哪个版本的 Node.js 和 npm。
对于 Node.js,命令是:
节点-v
对于 npm,您需要输入:
npm -v
手动安装 Node.js
如果您不运行 Ubuntu 或更喜欢安装最新版本以外的 Node.js 版本,则可以手动执行安装。这比直接从存储库中设置它要复杂一些,但是只要您小心,就应该没有问题。以下是步骤:
1. 下载并解压缩 Node.js 存档
您首先需要确保您位于主目录中。直走的命令是:
CD~
接下来,您可以使用以下命令下载 Node.js 存档:
wget https://nodejs.org/dist/v14.18.1/node-v14.18.1-linux-x64.tar.xz
注意:使用此命令,您将下载 14.18.1 版(撰写本文时为最新版本)。如果您想下载不同版本的 Node.js,则需要相应地调整 URL。
2.解压存档
要提取刚刚下载的 Node.js 存档,请使用以下命令:
tar xvf 节点-v14.18.1-linux-x64.tar.xz
这些文件将被提取到一个名为node-v14.18.1-linux-x64的新目录中。
3.重命名Node.js的目录,让你的生活更轻松
虽然并非绝对必要,但此步骤将简化安装过程。我们要做的是将包含从node-v14.18.1-linux-x64中提取的文件的文件夹重命名为像node这样不那么麻烦的东西,例如。这是命令:
mv 节点-v14.18.1-linux-x64 节点
4. 安装 Node.js 和 npm 的二进制文件
最后三个命令将创建所需的目录,将二进制文件复制到其中,并创建必要的符号链接:
mkdir ~/bin
cp node/bin/node ~bin
cd~ bin
ln -s ../node/lib/node_modules/npm/bin/npm-cli.js npm
5.检查是否安装成功
再次,您可以询问 Linux 服务器上安装了哪些版本的 Node.js 和 npm,以确认一切正常。命令是:
节点-v
和
npm -v
在我们的例子中,响应应该分别是v14.18.1和6.14.15。
启动 Node.js 应用程序
在服务器上安装了 Node.js 和 npm 之后,您可能想知道如何使用它们启动应用程序。你将如何去做取决于应用程序本身。
使用 npm
如果您需要使用有效的package.json文件启动生产就绪应用程序,您可以使用 npm 包管理器。命令是:
nohup npm start –production &
使用节点
如果您的应用程序没有 package.json 文件,您将需要使用 Node.js 本身。您可以使用以下命令执行此操作。
nohup node [你的应用程序的名称].js &
请注意,如果您选择运行没有包含 package.json 文件的应用程序,您将无法使用 npm 管理它。
如何停止应用程序
要终止正在运行的应用程序,我们需要终止进程。幸运的是,有一个简单的命令可以停止服务器上的任何 Node.js 进程:
pkill 节点
将您的 Web 服务器与正在运行的 Node.js 应用程序连接
由于 VPS 可以处理各种技术组合,因此有多种方法可以将您的网站连接到Node.js 应用程序。由于 Apache 是最常见的 Web 服务器之一,我们将使用它作为展示平台。
我们想利用.htaccess 文件来执行网站和 Node.js 应用程序之间的连接。
.htaccess 文件位于文档根文件夹 ( home/[your username]/public_html/ )。如果您的服务器上安装了网络托管控制面板,您可以通过集成的文件管理器访问它。否则,您的选择是通过 SSH 访问服务器并使用文本编辑器打开它。
以下是您需要添加到 .htaccess 文件中的内容:
DirectoryIndex 在 RewriteRule 上禁用
RewriteEngine
^$ http://127.0.0.1:XXX/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://127.0.0.1:XXX/$1 [P ,大号]
将“XXX”替换为您的 Node.js 应用程序的端口号。完成后,请记住在退出编辑器之前将更改保存到您的 .htaccess 文件中。
使用 SPanel 部署 Node.js 应用程序
那些发现所有这些步骤有点令人生畏的人会很高兴了解到,如果您拥有SPanel VPS,则无需执行任何步骤。
Node.js 集成曾经是我们的 SPanel 客户最需要的功能之一,我们别无选择,只能实施它。SPanel 服务器一直支持 Node.js,但现在,您不需要自己安装或请别人安装。
Node.js 已在所有 SPanel 服务器上设置和配置,在我们专有的管理平台内,您会发现一个易于使用的工具,只需单击几下即可帮助您启动应用程序。以下是所有步骤:
1. 将您的申请上传到您选择的文件夹。
您可以使用您最喜欢的 FTP 客户端或 SPanel 的文件管理器将 Node.js 应用程序从本地计算机上传到虚拟服务器。
2. 通过 SPanel 的 NodeJS Manager 部署应用程序。
SPanel 的 NodeJS 管理器在用户界面中可用。
部署新应用程序按钮会打开一个弹出窗口,让您快速启动您的应用程序。您需要做的就是设置应用程序 URL、它将侦听的端口以及应用程序本身的路径。
注意:您的 Node.js 应用程序只能使用 3000 到 3500 之间的端口。
单击部署以完成该过程。
3. 管理您的 Node.js 应用程序。
SPanel 的 NodeJS 管理器显示所有当前部署的 Node.js 应用程序的列表。Actions下拉菜单让您可以将它们一一停止、重新启动和取消部署。
结论
如果您想开始一个简单的博客或小型在线商店,您可能不需要 Node.js。JavaScript 运行时环境更适合更复杂的项目,通常由在该领域具有更多经验的人领导。使用正确的命令,他们应该可以毫无问题地在自我管理的虚拟服务器上安装和使用 Node.js。然而,即使是最大的命令行向导也会喜欢从易于使用的图形用户界面(如 SPanel 的 NodeJS 管理器)启动应用程序所带来的便利。