• node及pm2环境安装


    一、node安装

    软件地址:https://nodejs.org/en/download/

    image

    #1、下载软件包
    [root@node ~]# mkdir /app
    [root@node ~]# cd /app/
    [root@node app]# wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.xz
    [root@node app]# ll
    total 13740
    -rw-r--r-- 1 root root 14067172 Nov 19 16:39 node-v12.13.1-linux-x64.tar.xz
    
    #2.解压缩
    [root@node app]# tar xf node-v12.13.1-linux-x64.tar.xz -C /usr/local/
    [root@node app]# cd /usr/local/
    [root@node local]# ls
    bin  etc  games  include  lib  lib64  libexec  node-v12.13.1-linux-x64  sbin  share  src
    [root@node local]# mv node-v12.13.1-linux-x64/ node
    [root@node local]# ls
    bin  etc  games  include  lib  lib64  libexec  node  sbin  share  src
    
    #3、配置环境变量
    [root@node local]# vim /etc/profile
    export PATH=/usr/local/node/bin:$PATH
    [root@node local]# source /etc/profile
    
    #4、查看是否安装成功
    [root@node local]# node -v
    v12.13.1

    二、pm2安装及使用

    2.1、简介

    1)PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

    2)PM2的运行需要Node 环境和Npm的支持

    2.2、安装

    [root@node local]# npm install -g pm2
    /usr/local/node/bin/pm2 -> /usr/local/node/lib/node_modules/pm2/bin/pm2
    /usr/local/node/bin/pm2-dev -> /usr/local/node/lib/node_modules/pm2/bin/pm2-dev
    /usr/local/node/bin/pm2-docker -> /usr/local/node/lib/node_modules/pm2/bin/pm2-docker
    /usr/local/node/bin/pm2-runtime -> /usr/local/node/lib/node_modules/pm2/bin/pm2-runtime
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules/pm2/node_modules/fsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    
    + pm2@4.2.0
    added 206 packages from 202 contributors in 48.781s
    
    #如果存在网络问题,可以参考如下文章
    https://cnodejs.org/topic/4f9904f9407edba21468f31e

    2.3、常用命令

    #从svn拉取测试代码
    [root@node ~]# svn checkout svn://admin@xx.xx.xx.xx/dc_h5_20180606/dc_h5
    [root@node ~]# ll
    drwxr-xr-x  14 root root      4096 Dec  6 14:12 dc_h5
    
    #生成module
    [root@node dc_h5]# npm install
    [root@node dc_h5]# npm run build
    
    #启动
    [root@node dc_h5]# pm2 start pm2.config.json --env 83
    [PM2][WARN] Applications dc_h5 not running, starting...
    [PM2] App [dc_h5] launched (2 instances)
    ┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
    │ id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
    ├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
    │ 0   │ dc_h5  │ default     │ 2.4.3   │ cluster │ 125235   │ 0s     │ 0    │ online    │ 0%       │ 20.9mb   │ root     │ disabled │
    │ 1   │ dc_h5  │ default     │ 2.4.3   │ cluster │ 125242   │ 0s     │ 0    │ online    │ 0%       │ 17.1mb   │ root     │ disabled │
    └─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
    [root@node dc_h5]# pm2 status
    ┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
    │ id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
    ├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
    │ 0   │ dc_h5  │ default     │ 2.4.3   │ cluster │ 125235   │ 22s    │ 0    │ online    │ 0%       │ 90.1mb   │ root     │ disabled │
    │ 1   │ dc_h5  │ default     │ 2.4.3   │ cluster │ 125242   │ 22s    │ 0    │ online    │ 0%       │ 87.6mb   │ root     │ disabled │
    └─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

    其他常用命令

    pm2 list              #查看所用已启动项目
    pm2 restart XXX       #重启
    pm2 stop XXX          #停止
    pm2 delete XXX        #删除
    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 (http://localhost:9615)
    pm2 delete 0          #杀死指定的进程
    pm2 delete all        #杀死全部进程
    
    运行进程的不同方式:
    pm2 start app.js -i max  #根据有效CPU数目启动最大进程数目
    pm2 start app.js -i 3    #启动3个进程
    pm2 start app.js -x      #用fork模式启动 app.js 而不是使用 cluster
    pm2 start app.js -x -- -a 23  #用fork模式启动 app.js 并且传递参数 (-a 23)
    pm2 start app.js --name serverone #启动一个进程并把它命名为 serverone
    pm2 stop serverone    #停止 serverone 进程
    pm2 start app.json      #启动进程, 在 app.json里设置选项
    pm2 start app.js -i max -- -a 23   #在--之后给 app.js 传递参数
    pm2 start app.js -i max -e err.log -o out.log  #启动并生成一个配置文件

    参考文档:

    https://imweb.io/topic/57c8cbb27f226f687b365636

    https://www.cnblogs.com/lxg0/p/7771229.html

  • 相关阅读:
    [USACO15FEB]Superbull 超级牛
    [SHOI2015]自动刷题机
    [BJOI2019]排兵布阵
    P3528 [POI2011]PAT-Sticks
    P3539 [POI2012]ROZ-Fibonacci Representation
    洛谷P1868 饥饿的奶牛
    洛谷P1462 通往奥格瑞玛的道路(SPFA+二分答案)
    [SDOI2008]山贼集团
    [SHOI2013]阶乘字符串
    30. 如何使用 GDB 调试 Go 程序?
  • 原文地址:https://www.cnblogs.com/hujinzhong/p/11994526.html
Copyright © 2020-2023  润新知