在 Node.js 项目中,部署是一个必须要考虑的问题。因为 Node.js 项目的本质是单线程、异步 IO,能承受的请求是有限的,而且 Node.js 代码在处理请求时也需要加载一些资源,比如代码、模板、配置等,所以如果服务器资源不足或 Node.js 代码不够规范,就很容易出现请求延迟、内存溢出等问题。而 PM2 则是一个非常实用的 Node.js 应用程序管理器,可以让我们方便地部署和管理 Node.js 项目,同时也提供了一些很好的资源监控和故障恢复功能。
安装 PM2
在开始使用 PM2 前,我们需要先安装它。可以使用 npm 来进行安装:
npm install pm2 -g
部署 Node.js 项目
在使用 PM2 部署 Node.js 项目之前,需要先准备好 Node.js 项目,并确保已经安装了所有的依赖包。
接下来,我们需要使用 PM2 的命令来启动我们的项目:
pm2 start app.js --name myApp
这样就可以将我们的 Node.js 项目启动起来了。其中,app.js
是我们的项目入口文件,myApp
是这个进程的名称。
也可以使用 pm2 start
启动配置文件来启动应用,示例:
-- -------------------- ---- ------- -- ------------ - ------ - -------- -------- - ----------- ------- - ----- --------------- ---------------- ------- -------- ------ - ----------- ------------ - - -- --- --- ----- ------------
pm2 启动的项目可以通过 pm2 list
命令查看目前正进行中的项目,通过 pm2 stop
和 pm2 delete
命令可以分别停止和删除这个项目。
PM2 还提供了一些其他的命令,比如 pm2 logs
可以查看项目的日志信息,pm2 monit
可以查看服务器的资源使用情况等。
PM2 常用配置
在使用 PM2 时,还可以通过配置文件来更加灵活地管理 Node.js 项目。下面是一些常用配置:
- name:应用程序名称。
- script:要应用的脚本。
- instances:启动多少应用程序实例。
- max_memory_restart:重启进程的最大内存限制。
- env:运行应用程序所需的环境变量。
- watch:自动重新加载文件更改。
PM2 实战
我们以一个简单的示例来演示 PM2 的实际应用。
- 创建一个新的 Node.js 项目
npm init -y npm install koa
- 创建一个小型的 koa 服务器,代码如下:
-- -------------------- ---- ------- -- ------ ----- --- - --------------- ----- --- - --- ------ ------------- --- -- - -------- - ------ ------- --- -------------- - ---------------
- 打开一个终端并使用 PM2 启动项目
pm2 start app.js --name myKoaApp
在浏览器中访问
http://localhost:3000
,应该可以看到 "Hello World" 消息。在终端中使用 PM2 命令重新启动项目。
pm2 restart myKoaApp
- 访问刚刚的 URL,看到显示仍然正常。这证明了我们的应用程序已经平滑地重新启动。
总结:
通过本文的介绍,我们了解了 PM2 的基本用法和常用配置。PM2 提供了可靠的和灵活的 Node.js 应用程序管理方法,对于需要部署 Node.js 项目的开发者来说,是非常实用的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c3c79683d39b48817b9135