nodejs安装:https://www.cnblogs.com/loaderman/p/11596661.html

nodejs 进程管理器 pm2 的使用

PM2 是一款非常优秀的 Node 进程管理工具,它有着丰富的特性:能够充分利用多核 CPU 且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制 等情况下实现自动重启。

PM2 是开源的基于 Nodejs 的进程管理器,包括守护进程,监控,日志的一整套完整的功能。

PM2 的主要特性:

1、内建负载均衡(使用 Node cluster 集群模块)
2、后台运行
3、0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.
4、具有 Ubuntu 和 CentOS 的启动脚本
5、停止不稳定的进程(避免无限循环)
6、控制台检测

PM2 的常见命令:
1、pm2 的安装

npm install pm2 -g # 命令行安装 pm2

2、运行 pm2 的程序并指定 name

pm2 start app.js --name www_aaa_com
pm2 start app.js -i 3 --name www_bbb_com 3 启动 3 个进程 (自带负载均衡)

3、显示所有进程状态

pm2 list

4、显示所有进程状态

pm2 logs

5、显示一个进程的日志

的日志 pm2 logs www_aaa_com

6、关闭重启所有进程

pm2 stop all# 停止所有进程
pm2 restart all# 重启所有进程
pm2 reload all # 0 秒停机重载进程 (用于 NETWORKED 进程)

7、关闭重启指定进程

pm2 stop 0 # 停止指定的进程
pm2 restart 0 # 重启指定的进程
pm2 stop www_aaa_com
pm2 restart www_aaa_com

8、杀死进程

m2 delete 0   # 杀死指定的进程
pm2 delete all # 杀死全部进程
pm2 delete www_aaa_com # 杀死指定名字的进程

10、显示相应进程/应用的总体信息

pm2 show www_aaa_com

测试演示过程说明:

到home下,创建www_aaa_com 和www_bbb_com 文件夹,将项目代码分别拷贝进去

用cnpm(gzip 压缩支持) 命令行工具代替默认的 npm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后cnpm install 安装环境依赖

www_aaa_com app.js代码:

//引入 koa模块

var Koa=require('koa');

var router = require('koa-router')();  /*引入是实例化路由** 推荐*/

//实例化
var app=new Koa(); router.get('/',async (ctx)=>{ console.log('aaaa执行');
ctx.body="这是www_aaa_com的首页"; }) router.get('/news',async (ctx)=>{
ctx.body="这是www_aaa_com的新闻列表页面"; }) app.use(router.routes()); /*启动路由*/
app.use(router.allowedMethods());
app.listen(3001);

www_bbb_com 中app.js代码:

//引入 koa模块

var Koa=require('koa');

var router = require('koa-router')();  /*引入是实例化路由** 推荐*/

//实例化
var app=new Koa(); router.get('/',async (ctx)=>{ console.log('bbb执行');
ctx.body="这是www_bbb_com的首页111111111111"; }) router.get('/news',async (ctx)=>{
ctx.body="这是www_bbb_com的新闻列表页面"; }) app.use(router.routes()); /*启动路由*/
app.use(router.allowedMethods());
app.listen(3002);

关闭防火墙

systemctl stop firewalld 

在对应的目录下,分别用pm2启动项目

pm2 start app.js --name www_aaa_com   
pm2 start app.js --name www_bbb_com

Linux_CentOS下搭建Nodejs 生产环境-以及nodejs进程管理器pm2的使用的更多相关文章

  1. nodeJS进程管理器pm2

    pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. PM2是开源的基于Nodejs的进程管 ...

  2. 【原创】windows下搭建vue开发环境+IIS部署

    [原创]win10下搭建vue开发环境  如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安 ...

  3. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

  4. node.js&pm2搭建node生产环境

    node.js下载地址https://nodejs.org/en/download/stable/ 下载截图 建议采用稳定编译过的版本,source code稍麻烦,编译过的直接可用,安装超级简单,红 ...

  5. 1.WIN10下搭建vue开发环境

    WIN10下搭建vue开发环境 详细的安装步骤如下: 一.安装node.js 说明:安装node.js的windows版本后,会自动安装好node以及包管理工具npm,我们后续的安装将依赖npm工具. ...

  6. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  7. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  8. Windows下搭建Git开发环境

    Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...

  9. Ubuntu 12.04下搭建Qt开发环境

    http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...

随机推荐

  1. windows下用纯C实现一个简陋的imshow:基于GDI

    intro 先前实现了GDI显示图像时设定窗口大小为图像大小,不过并没有刻意封装函数调用接口,并不适合给其他函数调用.现在简单封装一下,特点: 纯C 基于GDI,因此只支持windows平台 类似于o ...

  2. 一、Linux_文件操作

    1.复制文件到当前目录: # 复制文件到当前目录下, ./表示当前目录 $ cp /home/book/poems.tar.gz ./ # 复制并改名,并存放在当前目录下 (cp源文件名 新文件名) ...

  3. 【转】高性能网络编程6--reactor反应堆与定时器管理

    反应堆开发模型被绝大多数高性能服务器所选择,上一篇所介绍的IO多路复用是它的实现基础.定时触发功能通常是服务器必备组件,反应堆模型往往还不得不将定时器的管理囊括在内.本篇将介绍反应堆模型的特点和用法. ...

  4. TPA测试项目管理系统-测试用例管理

            Test Project Administrator(简称TPA)是经纬恒润自主研发的一款专业的测试项目管理工具,目前已广泛的应用于国内二十余个整车厂和零部件供应商.它可以管理测试过程 ...

  5. python+正则提取+ip代理爬取糗事百科文字信息

    很多网站都有反爬措施,最常见的就是封ip,请求次数过多服务器会拒绝连接,如图: 在程序中设置一个代理ip,可有效的解决这种问题,代码如下: # 需要的库 import requests import ...

  6. qt事件机制(转)

    学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同.Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理. ...

  7. java代码操作word模板并生成PDF

    这个博客自己现在没时间写,等后面有时间了,自己再写. 这中需求是在实际的项目开发中是会经常遇到的. 下面我们先从简单入手一步一步开始. 1.首先,使用word创建一个6行两列的表格. 点击插入-6行2 ...

  8. 安装python问题

    configure: error: in `/home/wangqianqian/Desktop/Python-3.6.7':configure: error: no acceptable C com ...

  9. Codeforces 526C.Om Nom and Candies

    题目描述 一个只有两个物品的背包问题,但是范围都是1e9,需要考虑根号或者log的复杂度. 如果这两个物品中的某一个花费超过了根号C,那么我们可以直接枚举这件物品的数量,另一件物品的数量可以计算得出. ...

  10. 计蒜客 38228. Max answer-线段树维护单调栈(The Preliminary Contest for ICPC China Nanchang National Invitational I. Max answer 南昌邀请赛网络赛) 2019ICPC南昌邀请赛网络赛

    Max answer Alice has a magic array. She suggests that the value of a interval is equal to the sum of ...