zoukankan      html  css  js  c++  java
  • node 【node服务器搭建1:安转node 和pm2】

    介绍

      node是项目运行的基本环境

      pm2是node项目管理工具

        Node.js的cluster模块

          幸运的是,Node.js给我们提供了cluster模块,它可以生成多个工作线程来共享同一个TCP连接。它是如何运作的呢?首先,Cluster会创建一个master,然后根据你指定的数量复制出多个server app(也被称之为工作线程)。它通过IPC通道与工作线程之间进行通信,并使用内置的负载均衡来更好地处理线程之间的压力,该负载均衡使用了Round-robin算法(也被称之为循环算法)。当使用Round-robin调度策略时,master accepts()所有传入的连接请求,然后将相应的TCP请求处理发送给选中的工作线程(该方式仍然通过IPC来进行通信)。

        用PM2的方式

          PM2内置的cluster功能,内部包含了所有上述的处理逻辑,因此你不必对代码做任何修改。Cluster模块的功能非常强大,使用PM2会使它变得更加容易。

    node

      下载node 安装,node源码包,无需make install,解压即用

    下载
    wget https://oss.npmmirror.com/dist/node/v16.13.2/node-v16.13.2-linux-x64.tar.xz

    解压
    tar -xvf node-v16.13.2-linux-x64.tar.xz

    重命名
    mv node-v16.13.3-linux-x64.tar.x

      配置环境

        在/etc/profile设置环境变量

    #...其他配置

    export NODE_HOME=/opt/node-16 export NODE_PATH=$NODE_HOME/lib/node_modules PATH=$PATH:/opt/node-16/bin #新增配置 指到node下面的bin目录即可 PATH变量原本已经存在,为了不影响其他程序,所以为PATH增加一个路径 $PATH:[新增路径] export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL #如果没有export PATH 那么需要手动抛出 export #...其他配置

    pm2

      安装pm2

    npm -g i pm2 //安装node之后既可以使用npm

      建立软连接

    ln -s /opt/node-16/bin/pm2 /usr/local/bin/pm2

      常用命令

    启动:pm2 start demo.js  //demo.js是你要启动的app_name|app_id文件
    停止:pm2 stop app_name|app_id
    删除:pm2 delete app_name|app_id
    重启:pm2 restart app_name|app_id
    停止所有:pm2 stop all
    查看所有的进程:pm2 list
    查看所有的进程状态:pm2 status
    查看某一个进程的信息:pm2 describe app_name|app_id
    参数说明
    --watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件 -i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷 --ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts" -n --name:应用的名称,查看应用信息的时候可以用到 -o --output <path>:标准输出日志文件的路径,有默认路径 -e --error <path>:错误输出日志文件的路径,有默认路径 --interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...) 如完整参数命令: pm2 start demo.js --watch -i 2 //开启2个进程 pm2 start app.js -i max //根据机器CPU核数,开启对应数目的进程
  • 相关阅读:
    IP和java.net.InetAddress类的使用
    Redis(五):几个常用概念
    Redis(一):概述
    mongodb写入策略(WriteConcern)
    mongodb配置详解
    MongoDB优化
    Python 多进程异常处理
    Python多进程编程-进程间协作(Queue、Lock、Semaphore、Event、Pipe)
    Mongodb 性能测试
    把 MongoDB 当成是纯内存数据库来使用(Redis 风格)
  • 原文地址:https://www.cnblogs.com/wrhbk/p/15798590.html
Copyright © 2011-2022 走看看