在本地环境上用pm2跑koa+ts项目

本文介绍了如何在本地环境中使用pm2管理Koa+TypeScript项目,解决开发时频繁手动启动服务的问题。通过理解pm2的特性,如后台运行、0秒停机重载和内建负载均衡,实现项目的稳定运行。详细步骤包括安装pm2、配置项目、处理启动报错等,方便开发者在本地进行高效的开发工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在用node和ts来写前后端分离的项目,云服务器到期且并没有续费的打算,所以打算在本地环境捣鼓。网上的教程大多都是指导如何在云服务器上部署koa并用pm2守护进程。自己依葫芦画瓢在本地整了一套,故记录一下。

一、简单介绍PM2

开始之前先了解一下什么是pm2,这次认认真真逐字逐句的读了下概念,之前大致知道这是一个管理node进程的工具,把它笼统的归类于与phpstydy、nginx类似的工具,但是其实并不完全一致。

pm2一般来说是用于我们的生产环境,也就是云服务器上的node进程管理工具(废话),它不仅能进行进程守护,同时也支持性能监控、负载均衡等的功能,并且还可以使用命令来取查看我们node进程的状态,小白友好上手简单。我之前错误的认为它和phpstydy、nginx类似,更贴切的来讲,它其实更像是Linux的进程管理工具Supervisor或者Forever。

二、我用它来解决什么问题?

很简单,我主要是用来解决本地开发的时候,不用每次得用命令行工具cd到项目目录用命令去启动接口服务,我需要项目接口在我需要的时候一直运行着,且不会因为误触命令行工具关闭按钮时而挂掉服务。
同理,云服务器其实就可以看成一部虚拟的计算机,在服务器上用pm2,其实也是解决的一样的问题。

三、pm2的特性

  • pm2在后台运行。例如node app.js这样的命令,是需要一直在前台运行,容易因为代码错误或者是命令行工具的问题导致中断,不稳定。pm2在后台运行,也支持将错误用log文件输出的方式记录。
  • 0 秒停机重载。它能立即重新启动应用的所有进程并在重新加载代码后将请求,路由到新的进程,这意味着在应用维护升级的时候是不需要停机的,node服务不会中断,但这种处理方式不可避免的会造成一些请求失败和丢失。
  • 内建负载均衡。使用node cluster集群模块,可以自由的设置每次启动的进程的个数,如果设置为0,意味着它会根据服务器CPU的使用情况来灵活的设置进程的数量。
  • 停止不稳定的进程。可以避免死循环。
  • 控制台监测。可以在控制台实时监测运行情况。
  • 多平台支持。支持各大主流平台如Linux、MacOs、Windows等

四、安装和使用

  • 安装

    # 全局安装
    npm install -g pm2
    
  • 启动项目

    # 1、首先cd到项目的根目录下,也就是项目入口文件同级的目录下
    # 2、执行指定应用 pm2 start [配置文件/入口文件] --name [项目名字]
    pm2 start app.ts --name web_blog
    
  • 常用命令

    # 查看当前进程
    pm2 ls
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值