什么是 pm2?
pm2 是一个流行的 Node.js 进程管理工具,可以帮助您管理和监视应用程序的运行。它是基于 Node.js 开发的,可以以守护进程的方式运行,确保您的应用始终在线。
pm2 的配置文件
要获得更多的灵活性和控制,您可以使用 pm2 的配置文件来配置应用程序的运行。配置文件使用 JSON、YAML 或 JavaScript 格式编写,可以指定多个应用程序的运行选项和环境变量。以下是一个基本的 pm2 配置文件的示例:
-- -------------------- ---- ------- - ------- - - ------- ------ --------- --------- -------- ----- ------ - ----------- ------------- -- ----------------- - ----------- ------------ - - - -
配置文件中的属性
下面是一些常见的 pm2 配置文件属性的解释:
name
:应用程序的名称script
:应用程序的主文件watch
:当文件发生变化时是否重启应用程序ignore_watch
:应用程序忽略的文件或文件夹列表args
:传递给应用程序的参数env
:在所有环境下使用的环境变量env_{环境}
:只在指定环境中使用的环境变量instances
:应用程序的副本数量exec_mode
:应用程序的执行模式,可以是fork
或cluster
max_memory_restart
:超出指定内存限制时,应用程序是否自动重启merge_logs
:是否将所有实例的日志合并到一个文件中error_file
:错误日志文件的路径out_file
:标准输出日志文件的路径pid_file
:存储主进程 ID 的文件路径log_date_format
:日志文件中的时间格式
示例
假设我们有一个基于 Express 框架的 Node.js 应用程序,并且我们想要通过 pm2 部署它。以下是一个 pm2 配置文件的示例,同时使用了 env
和 env_production
,以及 watch
和 ignore_watch
:
-- -------------------- ---- ------- - ------- - - ------- --------- --------- --------- -------- ----- --------------- - --------------- ---------------- -- ------ - ----------- -------------- ------- ---- -- ----------------- - ----------- ------------- ------- -- - - - -
这个配置文件指定了一个名称为 my-app
的应用程序,主文件为 app.js
。watch
属性为 true
,所以当文件发生变化时,pm2 会自动重新启动应用程序。ignore_watch
属性指定了需要忽略的文件夹列表。env
属性指定了在所有环境中使用的环境变量,同时 env_production
属性指定了只在生产环境中使用的环境变量。最后,我们还指定了开发环境下使用的端口号为 3000,而生产环境下使用的端口号为 80。
总结
在本文中,我们详细介绍了 pm2 配置文件的各种属性和用法。通过使用 pm2 配置文件,您可以轻松地管理和监视多个 Node.js 应用程序,同时获得更多的灵活性和控制。希望本文对您有所指导,祝您学习愉快!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c3141983d39b488170318c