介绍
PM2 是一个强大的进程管理器和运行时,适用于 Node.js 应用程序的部署。它提供了许多功能,如自动化进程管理、实时监控、日志记录、负载均衡等。在本文中,我们将探讨如何在 CentOS 7 上使用 PM2 部署 Node.js 应用程序的完整流程。
环境准备
在开始使用 PM2 部署应用程序之前,您需要准备一些事项:
- CentOS 7 或更高版本的操作系统;
- 已安装 Node.js 的环境;
- 通过 NPM 安装了 PM2。
步骤一:创建 Node.js 应用程序
首先,我们需要创建一个简单的 Node.js 应用程序。打开您的终端,输入以下命令:
mkdir myapp cd myapp
接下来,在 myapp 文件夹中创建一个名为 app.js
文件,代码如下:
var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World!'); }).listen(3000); console.log('Server running at http://localhost:3000/');
这是一个简单的 Node.js 应用程序,用于在本地计算机上启动服务器并响应请求。该应用程序监听 3000 端口并返回 "Hello World!"。
步骤二:使用 PM2 启动应用程序
在本地计算机上运行 Node.js 应用程序是简单的,但是在服务器上管理该应用程序可能会有一些挑战。这时候就需要使用 PM2 来启动和管理我们的应用程序。
打开终端,进入您的应用程序文件夹并使用以下命令启动应用程序:
pm2 start app.js
该命令将启动您的应用程序并将其作为守护进程运行。使用 PM2 部署应用程序后,您可以使用以下命令来集中管理您的应用程序:
pm2 ls
该命令将在终端中列出已启动的应用程序。您还可以使用以下命令来停止、重启或删除应用程序:
pm2 stop app.js # 停止应用程序 pm2 restart app.js # 重启应用程序 pm2 delete app.js # 删除应用程序
步骤三:配置 PM2 永久保存
默认情况下,PM2 只在当前 shell 会话期间保存已启动的应用程序。如果您退出 shell,应用程序将被停止。为了在服务器重启后自动启动应用程序,您需要像以下方法保存应用程序:
pm2 startup
该命令会输出一个可执行的命令。将该命令复制到终端中并运行:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u username --hp /home/username
其中 username
是您的用户名。
该命令将配置 PM2 为系统服务,并在系统重启后自动运行。
结论
PM2 是一个出色的 Node.js 进程管理器和运行时。它提供了许多功能,可以使部署您的应用程序变得更加容易和安全。在 CentOS 7 上使用 PM2 部署 Node.js 应用程序仅需要几个简单的步骤。希望这篇文章对您有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674ff3a5fbd23cf890711e58