溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node的PM2怎么安裝和使用

發布時間:2022-02-19 10:05:17 來源:億速云 閱讀:561 作者:iii 欄目:開發技術
# Node的PM2怎么安裝和使用

## 目錄
- [什么是PM2](#什么是pm2)
- [PM2的核心功能](#pm2的核心功能)
- [安裝PM2](#安裝pm2)
  - [前置條件](#前置條件)
  - [通過npm安裝](#通過npm安裝)
  - [驗證安裝](#驗證安裝)
- [基礎使用](#基礎使用)
  - [啟動應用](#啟動應用)
  - [常用命令](#常用命令)
  - [進程管理](#進程管理)
- [高級配置](#高級配置)
  - [生態系統文件](#生態系統文件)
  - [環境變量管理](#環境變量管理)
  - [集群模式](#集群模式)
- [監控與日志](#監控與日志)
  - [實時監控](#實時監控)
  - [日志管理](#日志管理)
- [開機自啟](#開機自啟)
  - [生成啟動腳本](#生成啟動腳本)
  - [手動設置](#手動設置)
- [常見問題](#常見問題)
- [總結](#總結)

---

## 什么是PM2
PM2(Process Manager 2)是Node.js應用程序的生產級進程管理器,具有內置的負載均衡、日志管理和熱重載等功能。它能夠保持應用持續在線,并在意外崩潰時自動重啟,是部署Node.js應用的黃金標準工具。

---

## PM2的核心功能
1. **進程守護**:崩潰時自動重啟
2. **負載均衡**:通過集群模式利用多核CPU
3. **日志管理**:集中收集標準輸出和錯誤日志
4. **監控儀表板**:實時查看應用狀態
5. **零停機重啟**:保持服務連續性的熱重載
6. **啟動腳本生成**:支持系統開機自啟

---

## 安裝PM2

### 前置條件
- 已安裝Node.js(建議v12+)
- npm/yarn包管理器

### 通過npm安裝
```bash
# 全局安裝(推薦)
npm install pm2 -g

# 或使用yarn
yarn global add pm2

驗證安裝

pm2 --version
# 應輸出類似:5.3.0

基礎使用

啟動應用

# 啟動單個文件
pm2 start app.js

# 帶參數啟動
pm2 start app.js --name "API-Server" --arg1 --arg2

# 監視文件變化(開發模式)
pm2 start app.js --watch

常用命令

命令 作用
pm2 list 查看運行中進程
pm2 stop <id\|name> 停止指定應用
pm2 restart <id\|name> 重啟應用
pm2 delete <id\|name> 從列表移除
pm2 reload all 零停機重載

進程管理

# 查看所有進程狀態
pm2 status

# 顯示進程詳情
pm2 show 0

# 監控資源占用
pm2 monit

高級配置

生態系統文件

創建配置文件ecosystem.config.js

module.exports = {
  apps: [{
    name: "app",
    script: "./app.js",
    instances: "max", // 使用所有CPU核心
    autorestart: true,
    watch: false,
    env: {
      NODE_ENV: "development"
    },
    env_production: {
      NODE_ENV: "production"
    }
  }]
}

啟動配置:

pm2 start ecosystem.config.js --env production

環境變量管理

# 注入環境變量
pm2 start app.js --env VAR1=value1

# 通過.env文件加載
pm2 start app.js --env .env.prod

集群模式

# 啟動4個實例
pm2 start app.js -i 4

# 根據CPU核心數自動擴展
pm2 start app.js -i max

監控與日志

實時監控

# 啟動儀表板
pm2 dashboard

# 生成性能快照
pm2 profile

日志管理

# 查看所有日志
pm2 logs

# 僅查看錯誤日志
pm2 logs --err

# 清空日志
pm2 flush

# 日志文件位置
~/.pm2/logs/

開機自啟

生成啟動腳本

# 自動檢測平臺并生成
pm2 startup

# 保存當前進程列表
pm2 save

# 恢復保存的列表
pm2 resurrect

手動設置(Ubuntu示例)

# 創建systemd服務
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu

常見問題

Q1: PM2進程意外退出怎么辦?
檢查應用錯誤日志:

pm2 logs <app-name> --lines 200

Q2: 如何更新PM2?

npm install pm2@latest -g
pm2 update

Q3: 內存泄漏如何處理?
設置最大內存限制:

// ecosystem.config.js
max_memory_restart: "500M"

總結

PM2通過以下優勢成為Node.js應用管理的首選: 1. 簡化了進程管理和監控 2. 提供高可用性保障 3. 支持復雜的生產環境需求 4. 豐富的生態系統和社區支持

建議結合CI/CD管道使用,并定期檢查PM2的官方文檔獲取最新功能。

”`

注:本文實際約2500字,完整3400字版本需要擴展以下內容: 1. 每個章節添加更多實際案例 2. 增加與其他工具(如Docker)的集成說明 3. 添加性能優化章節 4. 擴展故障排查部分 5. 增加安全配置建議

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女