1、PM2介绍

  PM2是一个线上环境下,用于启动nodejs进程守护的工具,用来保证服务的稳定及分摊服务器进程和压力。

2、下载安装

  npm install pm2 -g  => pm2 --version  => 在package.json scripts中配置 "prd": "cross-env NODE_ENV=production pm2 start app.js" =>  npm run prd运行,运行结果如下图:

3、常用命令

  启动:pm2 start app.js

  监听控制台PM2进程列表: pm2 list

  重启:pm2 restart <AppName> / <id>

  停止和删除:pm2 stop <AppName> / <id>       pm2 delete <AppName> / <id>

  基本信息: pm2 info <AppName> / <id>

  日志:pm2 log <AppName> / <id>

  监听进程的CPU和内存信息:pm2 monit <AppName> / <id>

4、进程守护

  pm2在后台代码遇到意外错误时,进程就会重启,保证服务端能继续为前端和客户端提供服务,并将错误信息记录到日志中。

5、常用配置

  创建pm2.conf.json文件,输入需要配置的信息,如下:记得删除注释

{
"apps": {
"name": "pm2-test-server", //设置app的name
"script": "app.js", //启动的文件
"watch": true, //监听文件变化自动重启
"ignore_watch": [ //不需要监听重启
"node_modules",
"logs"
],
"instances": 4, //设置多进程
"error_file": "logs/err.log", //错误日志地址
"out_file": "logs/out.log", //输出日志地址
"log_date_format": "YYYY-MM-DD HH:mm:ss" //在日志中的每一行都要标记时间
}
}

修改package.json中的"prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json"

express框架开发接口部署线上环境PM2的更多相关文章

  1. Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署

    一. 前言 在上一文中 点击跳转 通过IDEA集成Docker插件实现微服务的一键部署,但 youlai-mall 是前后端分离的项目,除了后端微服务的部署之外,当然还少不了前端工程的部署.所以本篇讲 ...

  2. (转) 线上环境部署MongoDB的官方建议

    本文主要内容来自MongoDB官方文档http://docs.mongodb.org/manual/administration/production-notes/.并结合了实际工作情况进行分享. 1 ...

  3. 使用Fabric一键批量部署上线/线上环境监控

    本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他 ...

  4. wechat开发笔记之1.线上环境搭建与测试

    Wechat开发笔记 线上环境搭建: 申请一个wechat公众平台. 手机个人微信可以用webwechat来测试. Website:https://web.weixin.qq.com/ 手机客户端扫一 ...

  5. Docker + node(koa) + nginx + mysql 线上环境部署

    在上一篇 Docker + node(koa) + nginx + mysql 开发环境搭建,我们进行了本地开发环境搭建 现在我们就来开始线上环境部署 如果本地环境搭建没有什么问题,那么线上部署的配置 ...

  6. Vue 2.x 3.x 配置项目开发环境跟线上环境

    先找到package.json  (这是nuxt版的vue 可能会跟一般vue不一样  当然总体上差不多的) "scripts": { "dev": " ...

  7. express框架开发案例

    express是基于Node.js平台的web应用开发框架,用express框架开发web项目可以直接构建整个项目框架并且将前端页面跟后台贯穿起来,用起来还是灵活的:最近刚开始学习,写篇博客总结下,涉 ...

  8. 【微信小程序】---线上环境搭建

    一.前言 通常我们在本地电脑上开发微信小程序,调用和访问小程序会有很多问题.特别是在配有自己后端的情况下,我们通过真机访问我们的小程序会出现不可访问的问题 二.线上环境搭建 在这里我们主要以腾讯云给大 ...

  9. vue本地和线上环境(域名)配置

    vue本身为运行脚手架项目自家搭载了一个nodejs后台环境,本地可通过proxyTable来处理跨域问题,但是上线(或生产环境)之后改域名真是一件麻烦的事情,所以进行一些配置. config/ind ...

随机推荐

  1. [Qt 踩坑] 设置背景就卡退 报错 异常结束或者crashed 0xFFFFFFFF

    #开始 我现在是带着崩溃得心情写博客的 这个估计是我遇到的最混蛋的bug 我试图用Qt写个小程序 然后给窗口添加一个背景 就像这样 先不管我那个路径的问题 只要写了那个代码,就一定出错 删除了一点事情 ...

  2. JSP技术(一)

    Servlet的两个缺点: 1.首先,写在Servlet中所有的HTML标签必须包含JAVA字符串,使得处理HTTP响应报文工作十分繁琐. 2.所有的文件和HTML标记是硬代码,导致即使是微小变化,也 ...

  3. zookeeper 源码(二) session 和 处理事务请求

    问题 session 如何生成的?sessionId为什么不直接使用时间戳+单机名 sessionid 关闭的时候的逻辑,sessionid 的维护是由各节点还是leader ? 会话相关 sessi ...

  4. VMware升级到15版本虚拟机黑屏的解决方法

    1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点  下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...

  5. 关于umask的计算方式(简单任性)

    1.对于文件夹[d]来说  用755-umask 3.对与文件[f]来说,在2的基础上减掉x属性就完事儿(有x的,减掉1,没有的,就什么也不管) 再来个手绘版本的举例

  6. Spark性能调优-高级篇

    前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化指南>的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问 ...

  7. 8个问题看你是否真的懂 JS

    文章转载: https://juejin.im/post/5d2d146bf265da1b9163c5c9#heading-20 原文地址: https://dev.to/aman_singh/so- ...

  8. 28 JavaScript语言类型&运算符

    语言类型: 弱类型:可以改变变量值和对象类型 强类型:可以改变变量值不能改变对象类型 解释型:边编译边执行,速度慢.解释型一般是弱类型 编译型:先编译再执行(C++\Java),速度快.编译型一般是强 ...

  9. UNL/EVE关联putty和wireshark

    这里默认UNL已经安装完毕,然后启动虚拟机启动UNL. 在浏览器输入http://192.168.1.199/ 进入UNL.然后简单的搭建一个拓扑: 这里只讲R1和ASA开启,先来配置Telnet功能 ...

  10. 蓝桥杯 K好数

    如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.3 ...