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
PM2 部署 nodejs API项目的更多相关文章
- nginx+ssl+pm2 部署 nodejs 服务
nginx+pm2 部署 nodejs 服务 最近在 centos 上部署 nodejs 服务,记下来步骤: 注意都是使用 root 用户. 下载 nvm: curl -o- https://raw. ...
- PM2 部署 nodejs 项目
在网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种.使用场合: forever管理多个站点,每个站点访问量不大,不需要监控. pm2 网站访问量比较大,需要完整 ...
- pm2部署nodejs项目
安装: 最新的PM2稳定版可通过NPM进行安装: npm install pm2@latest -g 用法: 启动,守护和监控应用程序的最简单的方法是使用以下命令行: pm2 start app.js ...
- centos7.4系统部署nodejs前端项目
1.安装nodejs运行环境 wget命令下载Node.js安装包,该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译 wget https://nodejs.o ...
- 最好用的koa2+mysql的RESTful API脚手架,mvc架构,支持node调试,pm2部署。
#基于webpack构建的 Koa2 restful API 服务器脚手架 这是一个基于 Koa2 的轻量级 RESTful API Server 脚手架,支持 ES6, 支持使用TypeSc ...
- PM2来部署nodejs服务器永久开启
pm2 日常使用 1. pm2 是什么? 日常开发中需要启动一个node项目,需要用npm run …,,如果终端被关掉,程序也就自动停止,有时候几个项目一起跑起来,好几个终端开着,个人不太喜欢, ...
- 在Linux系统配置Nodejs环境的最简单步骤,部署多个thinkjs(nodejs)项目
发现一台服务器部署管理多个nodejs服务,可以采用二级域名weekly.mwcxs.top,也可以采用固定后缀www.mwcxs.top/weekly的方式,本文先从固定后缀的方式部署管理多个nod ...
- linux服务器部署nodejs项目
一.安装nodejs 1.去官网下载和自己系统匹配的文件: 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通 ...
- 在Linux系统中部署NodeJS项目
在Linux系统中部署NodeJS项目 安装NodeJS 首先进入 Node 官网,下载对应的 Node包 下载下来后是一个后缀为 xz 的压缩包,我们把这个包上传到 Linux 系统中的 /usr/ ...
随机推荐
- Swift 条件语句
条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句. 可以通过下图来简单了解条件语句的执行过程: Swift 提供了以下几种类型的条件语 ...
- android ONVIF 组播探测在线摄像机
http://blog.csdn.net/ghostyu/article/details/8182516 Android的Wifi,默认情况下是不接受组播的,见:http://developer.an ...
- 利用redis 分布式锁 解决集群环境下多次定时任务执行
定时任务: @Scheduled(cron= "0 39 3 * * *") public void getAllUnSignData(){ //检查任务锁,若其它节点的相同定时任 ...
- IEnumerable和IQueryable口的区别
IQueryable: 动态表达式树拼接查询语句,把拼接后查询语句进行执行:Execute触发,延迟加载IEnumerable:对内存中的数据,动态拼接查询语句,进行查询:ToList触发,延迟加载: ...
- JAVA 基础编程练习题49 【程序 49 子串出现的个数】
49 [程序 49 子串出现的个数] 题目:计算字符串中子串出现的次数 package cskaoyan; public class cskaoyan49 { public static void m ...
- ubuntu 18.04安装ftp服务器
首先安装vsftpd: sudo apt-get install vsftpd 可以通过命令vsftpd -version查看vsftpd版本. 为ftp服务器新建一个用户(比如我这里新建一个用户名和 ...
- Vue学习笔记(三)组件间如何通信传递参数
一:父组件向子组件传递参数 <template > <div id="app"> <h1 v-text="title">&l ...
- webdriervAPI(定位一组元素)
通过定位一组元素的方法来,来勾选自己需要勾选的选项. from selenium import webdriver from selenium.common.exceptions import NoS ...
- Linux上安装Julia-1.1
Julia 在Linux上的安装 浙江大学Julia镜像: 浙江大学Julia镜像 下载1.1版本: wget https://mirrors.zju.edu.cn/julia/releases/v1 ...
- 【VS开发】MFC中调用C函数模块的解决方案
[VS开发]MFC中调用C函数模块的解决方案 标签(空格分隔): [VS开发] 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:最近调试基于MFC的程序 ...