随着 Node.js 应用程序的普及,我们需要一种在生产环境中可靠地部署 Node.js 应用程序的方法。在 Windows 平台上,我们可以使用 pm2-windows-service-nosetup,这是一个 Node.js 包,能够将 Node.js 应用程序部署为 Windows 服务。
pm2-windows-service-nosetup 是什么?
pm2-windows-service-nosetup 是一个 Node.js 包,用于在 Windows 上将 Node.js 应用程序部署为 Windows 服务。它是基于 pm2 和 node-windows 包构建的,并且通过提供简单的命令行界面,使得将 Node.js 应用程序部署为 Windows 服务变得容易。
安装 pm2-windows-service-nosetup
要使用 pm2-windows-service-nosetup,首先需要使用 npm 进行安装:
npm install -g pm2-windows-service-nosetup
接着,您需要使用以下命令来显示你所在电脑上的 Windows 系统信息:
systeminfo
根据显示结果中的 "OS Name" 和 "System Type" 确认您的操作系统是否为 Windows:
OS Name: Microsoft Windows 10 Pro OS Type: x64-based PC
如果您的操作系统是 Windows,并且您已经安装了 Node.js 和 npm,则已安装完成。
使用 pm2-windows-service-nosetup
接下来看看如何使用 pm2-windows-service-nosetup 将 Node.js 应用程序部署为 Windows 服务。
首先,您需要将您的 Node.js 应用程序打包成一个
.js
文件,如server.js
。接着,使用 pm2 命令将
server.js
启动:pm2 start server.js
运行该命令后,您的 Node.js 应用程序就已经启动运行了。
使用 pm2-windows-service-nosetup 命令将您的 Node.js 应用程序部署为一个 Windows 服务:
pm2-service install -n "my-app" -d "My Node.js App" -u "Administrator" -p "password" --no-setup --force
其中:
-n "my-app"
: Windows 服务的名称,您可以自定义。-d "My Node.js App"
: Windows 服务的描述,您可以自定义。-u "Administrator"
: 部署 Windows 服务时使用的 Windows 用户名。-p "password"
: 部署 Windows 服务时使用的 Windows 用户密码。--no-setup
: 禁止自动设置 Windows 服务。--force
: 强制覆盖任何先前的 Windows 服务。
启动 Windows 服务:
net start my-app
其中,
my-app
是您在第 3 步中自定义的 Windows 服务名称。
现在,您已经成功地将 Node.js 应用程序部署为 Windows 服务了。可以使用 net stop
命令来停止 Windows 服务:
net stop my-app
您还可以使用 Windows 服务管理器来查看和管理 Windows 服务。
示例代码
以下是一个简单的 Node.js 应用程序,用于输出 "Hello World!" 字符串。
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - ----------------------- ---- -- - -------------- --------- --- ------------------- -- -- - ------------------- -- ------- -- ------------------------ ---
可以使用 pm2 将其启动:
pm2 start server.js
使用 pm2-windows-service-nosetup 将其部署为 Windows 服务:
pm2-service install -n "hello-world" -d "Hello World" -u "Administrator" -p "password" --no-setup --force
启动 Windows 服务:
net start hello-world
访问 http://localhost:3000
,您将看到 "Hello World!" 字符串输出在浏览器上。
结论
通过 pm2-windows-service-nosetup,将 Node.js 应用程序部署为 Windows 服务变得非常容易。只需简单的几个命令,就可以完成这一任务。部署 Node.js 应用程序为 Windows 服务,能够让您的应用程序一直在运行,并且非常方便地集成到 Windows 系统中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562e281e8991b448e066e