PM2 部署 nodejs API项目

PM2的主要特性:

  • 内建负载均衡(使用Node cluster 集群模块)
  • 后台运行
  • 0秒停机重载,我理解大概意思是维护升级的时候不需要停机.
  • 具有Ubuntu和CentOS 的启动脚本
  • 停止不稳定的进程(避免无限循环)
  • 控制台检测
  • 提供 HTTP API
  • 远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )

安装

npm install -g pm2

用法

$ npm install -g pm2 命令行全局安装pm2

$ pm2 start app.js 或者 pm2 start bin/www --name=‘服务名称‘  启动node项

$ pm2 stop id号  停止pm2服务

$ pm2 l 列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。

$ pm2 monit 监视每个node进程的CPU和内存的使用情况

$ pm2 logs 显示所有进程日志
$ pm2 stop all 停止所有进程
$ pm2 restart all 重启所有进程
$ pm2 reload all 0秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0 停止指定的进程
$ pm2 restart 0 重启指定的进程
$ pm2 startup 产生 init 脚本 保持进程活着
$ pm2 web 运行健壮的 computer API endpoint 
$ pm2 delete 0 杀死指定的进程
$ pm2 delete all 杀死全部进程

将 pm2 安装成 windows service

将 pm2 安装成 windows service, 达到开机运行的目的
npm i -g pm2-windows-service
#添加系统环境变量 PM2_HOME=D:\.pm2
#右键 [我的电脑] - [属性] - [高级系统设置] - [环境变量] - 新建 [系统变量]
#PM2_HOME=D:\.pm2
#以管理员权限打开新的命令行窗口,执行以下命令来安装服务
pm2-service-install
#Perform environment setup ? 选 n, 继续
#此时, PM2服务已安装成功并已启动, 可以通过 [win + r] - [services.msc] 来查看
#下面用 pm2 来启动我们自己的服务程序 app.js, 然后告诉 pm2 开机后自动运行我 app.js
#继续在管理员命令行下, cd 到 app.js 所在目录
pm2 start app.js --name myapp
pm2 l
pm2 save
#pm2 save 很重要, 它保存当前pm2 正在管理的NodeJS服务, 并在开机后恢复这些服务

#至此, 安装配置完成

卸载服务
#打开管理员命令行
pm2-service-uninstall

参考链接:https://www.cnblogs.com/hai-cheng/p/8690115.html

原文地址:https://www.cnblogs.com/pzj1023/p/11743480.html

时间: 2024-10-08 06:00:00

PM2 部署 nodejs API项目的相关文章

在Linux系统配置Nodejs环境的最简单步骤,部署多个thinkjs(nodejs)项目

发现一台服务器部署管理多个nodejs服务,可以采用二级域名weekly.mwcxs.top,也可以采用固定后缀www.mwcxs.top/weekly的方式,本文先从固定后缀的方式部署管理多个nodejs服务. 以下详细的介绍,以周报企业管理系统为例进行部署,欢迎fork和start,源码地址:https://github.com/saucxs/weekly,展示地址:http://120.27.109.67:8089有问题一起交流. 1.去官网下载和自己系统匹配的文件: 英文网址:https

PM2 部署项目

pm2 npm install pm2 -g 装完后有pm2 全局命令 用npm run 方式,一旦停止,就不能被访问,因此用PM2部署,能够维持进程 开启: PM2 start /bin/www 开启,维持进程 其他命令: PM2 list pm2 --help pm2 stop name pm2 restart all 方案1 前后端分离部署,静态资源部署到nginx, nodejs部署到pm2 方案2 前后端部署在一块 //生产环境修改为dist目录 "build":"

使用Jenkins自动部署nodejs应用

想必部署过nodejs应用的朋友都有过这样的经历: 1.通过ssh登录服务器 2.进入nodejs目录 3.执行:git pull 命令拉取最新代码 4.执行:npm install 安装新依赖 5.执行:pm2 restart all 重新启动所有nodejs进程 如果我们只有一台机器,并且更新不是很频繁,似乎这样的操作还是可以接受,但是如果我们有4台nodejs应用的服务器,每次的代码改动将是灾难! 好在我们有Jenkins帮助我们做这些事情,Jenkins是一个可以自动远程部署,执行远程脚

使用nssm在windows服务器上部署nodejs

在Linux上,可以轻松的使用forever或者pm2来部署nodejs应用.但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问题多多: 另外还有一个选择就是iisnode,这个有空研究一下,今天先说下比较简单的nssm.nssm会监控你安装的node服务,如果node挂了,nssm会自动重启它. 安装使用 目前最新版的是2.23(下载地址),下载之后解压,根据你的系统选择32位和64位的版本,直接在nssm.exe 所在目录运行

通过Github与PM2部署Node应用

背景 前一段时间,是通过百度云的BAE部署自己的Node应用的,不过随着应用的不断开发,BAE的限制不断制约了应用的使用.于是着手将应用迁移到阿里云的ECS上去.本文即是介绍了如何在ECS上搭建Node环境,并将本地制作好的应用进行发布. 环境介绍 本地: Mac OSX 10.11.4,应用采用的技术:Node.js + Express.js 远端服务器:阿里云ECS(1核CPU.1GB内存),IP:123.57.205.23,系统为CentOS7.0 Github:账户名:e10101 系统

CentOS 6.8部署Nuxt.js项目(CentOS nuxt.js项目无法通过公网IP访问的问题)

目前很多nuxt项目都是基于windows的,初始化一个简单的nuxt项目后都是通过3000或者8080端口去访问localhost,今天分享一下笔者在CentOS部署简单nuxt项目的经验(通过域名或者公网IP访问)~ 1.购买阿里云ECS实例,最低配个人用来练手的9块钱就可以用半年,相当划算! 2.安装Nodejs(二进制版本) 通过官网下载无需编译(需要编译的版本比较麻烦)的最新Nodejs二进制版本 wget https://nodejs.org/dist/v6.11.4/node-v6

基于IBM Bluemix部署Java Web项目实战演练

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务.最后,提出了自己的一些看法.  文章目录 一.Bluemix简单介绍 二.BlueMix空间申请试用 三.BlueMix创建Cloud Foundry应用 四.添加新的服务 五.总结 一.Bluemix 简单介绍 1.Bluemix 带来了什么        Bluemix 致力于解

[Kails] 一个基于 Koa2 构建的类似于 Rails 的 nodejs 开源项目

最近研究了下Koa2框架,喜爱其中间件的思想.但是发现实在是太简洁了,只有基本功能,虽然可以方便搭各种服务,但是离可以适应快速开发的网站框架还是有点距离.于是参考Rails的大致框架搭建了个网站框架kails, 配合postgres和redis, 实现了MVC架构,前端webpack,react前后端同构等网站开发基本框架.本文主要介绍kails搭建中的各种技术栈和思想. 本文首发于Blog of Embbnux, 转载请注明原文出处: https://www.embbnux.com/2016/

Datax与hadoop2.x兼容部署与实际项目应用工作记录分享

一.概述 Hadoop的版本更新挺快的,已经到了2.4,但是其周边工具的更新速度还是比较慢的,一些旧的周边工具版本对hadoop2.x的兼容性做得还不完善,特别是sqoop.最近,在为hadoop2.2.0找适合的sqoop版本时遇到了很多问题.尝试了多个sqoop1.4.x版本的直接简单粗暴的报版本不兼容问题,其中测了sqoop-1.4.4.bin__hadoop-0.23这个版本,在该版本中直接用sqoop的脚本export HDFS的数据是没有问题的,但是一旦调用JAVA API来进行对H