码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 关于在CentOS服务器上采用pm2 部署node 服务


    文章目录

    • 一、node环境部署
      • 1. node包下载
      • 2. 解压node包创建 node与npm 软连接
      • 3. 测试node 与npm 是否配置好
    • 二、pm2 安装与软连接配置
      • 1. pm2安装
      • 2. pm2软连接建立
      • 3. 测试pm2是否已经配置好
    • 三、node项目 pm2配置添加
      • 1. node项目中添加pm2.conf.json配置文件,注意这个文件创建的目录与我们项目的package.json 同层级
      • 2. package.json 添加pm2启动执行脚本
    • 四、运行项目
    • 五、常用pm2 命令

    一、node环境部署

    1. node包下载

    // 获取node包,注意最近打开node官网或者npm 官网都存在超时等问题,大家可以直接使用wget 命令获取,获取路径参考以下命令(版本可以替换成你自己的开发环境一致的node版本就行)
    wget https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.xz
    
    • 1
    • 2

    2. 解压node包创建 node与npm 软连接

    // 命令示例
    // 解压xz 包
    xz -d node-v16.13.2-linux-x64.tar.xz
    // 解压tar包
    tar -xvf node-v16.13.2-linux-x64.tar
    // 创建 node 软连接 注意ln 命令中的路径均为绝对路径不可用相对路径,可能导致link失效
    ln -s /home/share/node-v16.13.2-linux-x64/bin/node /usr/local/bin/node
    // 创建 npm 软连接
    ln -s /home/share/node-v16.13.2-linux-x64/bin/npm  /usr/local/bin/npm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3. 测试node 与npm 是否配置好

    // 查看node 是否安装好,如果能看到相应的版本代表已经成功
    node -v 
    // 查看npm 是否安装好,同上
    npm -v 
    
    • 1
    • 2
    • 3
    • 4

    二、pm2 安装与软连接配置

    1. pm2安装

    // 全局安装pm2,这里如果安装超时,可以把镜像改成淘宝镜像获取
    npm install pm2 -g 
    
    • 1
    • 2

    2. pm2软连接建立

    *注意查看我们的下载解压后的node/bin 目录下是否有pm2,参考如下
    在我们下载的node包中查看是否pm2已经安装好

    // 这里操作其实和node 配置一样,我们配置的时候查看下,pm2 是否安装好,如果已经安装好,则进行
    ln -s /home/share/node-v16.13.2-linux-x64/bin/pm2 /usr/local/bin/pm2
    
    • 1
    • 2

    3. 测试pm2是否已经配置好

    pm2 -version
    
    • 1

    三、node项目 pm2配置添加

    1. node项目中添加pm2.conf.json配置文件,注意这个文件创建的目录与我们项目的package.json 同层级

    // 配置参考如下
        {
      "apps": {
        "name": "service-name", // 服务名称
        "script": "./bin/start.js",  // 项目启动入口
        "watch": "true", // 是否监测
        "ignore_watch": [  // 忽略文件
          "node_modules",   
          "logs"
        ],
        "instance": 2,  //进程实例
        "error_file": "logs/err.log", // 错误日志输出文件
        "out_file": "logs/out.log",  // 服务日志
        "log_date_format": "YYYY-MM-DD HH:mm:ss" // 日志输出时间格式
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2. package.json 添加pm2启动执行脚本

    "scripts": {
        "start": "node bin/start --watch",
        "prod": "NODE_ENV=production pm2 start pm2.conf.json",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5

    四、运行项目

    由于我上面用的是prod 启动脚本,所以我们执行

    // 在当前node项目目录下,执行命令
    npm run prod 
    
    • 1
    • 2

    五、常用pm2 命令

    // 通过上述操作,不出意外,我们已经把服务启动好了,
    // 查看pm2 守护项目列表,
    pm2 list ```
    // 重启服务,这里的服务名称,对应的就是我们pm2配置文件中的 name属性所对应的值
    pm2 restart 服务名称
    
    // 停止服务
    pm2 stop 服务名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    java中异构化的任务指的是什么?
    XD2023新版 Experience Design v57.1.12.2
    archlinux安装rust环境
    jupyter notebook anaconda环境下查看|加载|更换内核
    Spelling sentences
    指针进阶(3)
    [附源码]java毕业设计小型医院药品及门诊管理
    【HDC 2024】华为云开发者联盟驱动应用创新,赋能开发者成长
    金融与大模型:引领行业未来的创新融合
    ResNet架构解析
  • 原文地址:https://blog.csdn.net/weixin_39370315/article/details/127756127
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号