首页 > 系统相关 >windows设置pm2开机服务 自启动nodejs项目

windows设置pm2开机服务 自启动nodejs项目

时间:2022-09-30 22:01:05浏览次数:62  
标签:服务 pm2 nodejs windows startup 开机 自启动

PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。

安装部署

1、我们一般会把 pm2 安装到全局:

npm install pm2 -g

2、安装windows自启动包:

npm install pm2-windows-startup -g

3、创建开机启动脚本文件:

pm2-startup install

注意:并不是到第3步就可以了,需要4、5步操作完,开机启动才有效。

4、使用pm2启用项目:

pm2 start 路径 --name 名称

例如:pm2 start ./app.js –name xsx

5、保存pm2中的项目:

pm2 save

注意:pm2 save很重要, 它保存当前 pm2 正在管理的 NodeJS 服务, 并在开机后恢复这些服务。

重启电脑可以查看( 以表格显示 ):

pm2 ls

如果要卸载服务,执行:

pm2-service-uninstall

常用命令

pm2 的服务都有一个数字 id,你可以用 id 快速操作它。下面以编号为 0 的服务为例(当然,把 id 换为应用名也是一样的):

pm2 start       # 启动一个服务,携带 --name 参数添加一个应用名,携带参数 --watch 将观察修改重启服务
pm2 list        # 列出当前的服务
pm2 monit       # 监视每个node进程的CPU和内存的使用情况
pm2 stop 0      # 停止服务
pm2 stop all    # 停止所有服务进程
pm2 restart 0   # 重启服务
pm2 restart all # 重启所有进程
pm2 delete 0    # 删除服务
pm2 delete all  # 删除全部服务
pm2 logs        # 查看所有服务的输出日志
pm2 logs 0      # 查看服务的输出日志

更详细用法请看:https://github.com/Unitech/pm2

扩展阅读

pm2 以 windows 服务运行

通过上面 pm2-windows-startup 的方式【推荐】,我们在windows 服务里面是找不到 pm2 相关服务的,它是基于 start-on-windows-boot 在注册表中将 PM2 设为自启动程序,从而实现自启动。

而 pm2-windows-service 基于 node-windows 将 PM2 注册为 Windows 服务。

两种方案经测试,只有 pm2-windows-startup 在 Windows Server 2012 上可行,故选择 pm2-windows-startup 作为解决 Node.js 应用开机自启动的方案。

所以,这里只顺带说说 pm2 以 windows 服务运行的操作步骤:

1、npm i pm2 -g
2、npm i pm2-windows-service -g
3、安装服务:pm2-service-install -n myservice (安装后在windows服务中多了一个myservice的服务)
卸载命令:pm2-service-uninstall
4、设置环境变量:PM2_SERVICE_SCRIPTS = PM2 的配置文件
5、windows 服务中重新启动 myservice 服务

标签:服务,pm2,nodejs,windows,startup,开机,自启动
From: https://www.cnblogs.com/smile008/p/16746375.html

相关文章

  • 带你了解NodeJs的模块系统
    前言在JavaScript语言中,两个独立的js脚本互相引用是无法实现的,只能在Html页面中引入多个脚本来做到关联。NodeJs提供了一个简单的模块系统,它让Js代码之间可以互相引用,方便暴......
  • win10利用计划任务开机调用pm2运行yapi
    痛点:yapi部署在本机,每天上班第一件事就是要启动。嫌累所以尝试让它开机自启动运行命令"pm2startapp.js--watch";本机win10,利用其计划任务实现此想法。 (1)在win10管......
  • nodejs基础
    Node.js目的了解nodejs了解后端读取本地文件连接数据库的响应请求了解api接口文档检测是否有nodenode-v初始化项目切换到项目目录npminit-y使......
  • debian/ubuntu下安装nodejs npm
    wgethttps://nodejs.org/dist/v16.17.1/node-v16.17.1-linux-x64.tar.xz nodejs官网下载地址,目前最新版,以后有更新就换新的地址,wget下来,解压tar-xvfnode-v16.17.1-li......
  • nodejs stream 背压处理学习
    内容是nodejs官方的,对于需要开发自己的stream是很值得学习参考的参考资料​​https://nodejs.org/en/docs/guides/backpressuring-in-streams/​​​​https://nodejs.org......
  • Centos8通过dnf安装certbot,设置nginx自启动
    如果centos8默认软件包里没有certbot,就需要更新软件包:dnfinstallepel-releasednfupgrade一般更新包后就可以安装了dnfinstallcertbotnginx安装后设置自启动:......
  • asdf 安装 python 与 nodejs
    asdf安装python与nodejs系统centos7.9安装asdf官方地址:asdf-vm/asdf:ExtendableversionmanagerwithsupportforRuby,Node.js,Elixir,Erlang&more(gi......
  • 用 nodejs 搭建脚手架
    1前言1.1像我们熟悉的vue-cli,taro-cli等脚手架,只需要输入简单的命令taroinitproject,即可快速帮我们生成一个初始项目。在日常开发中,有一个脚手架工具可以用来提高工......
  • 深度阐述Nodejs模块机制
    我们都知道Nodejs遵循的是CommonJS规范,当我们require('moduleA')时,模块是怎么通过名字或者路径获取到模块的呢?首先要聊一下模块引用、模块定义、模块标识三个概念。1Comm......
  • 深度阐述Nodejs模块机制
    我们都知道Nodejs遵循的是CommonJS规范,当我们require('moduleA')时,模块是怎么通过名字或者路径获取到模块的呢?首先要聊一下模块引用、模块定义、模块标识三个概念。1Commo......