PM2: Node.js μ ν리μΌμ΄μ μ ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νμ
1. PM2 μκ°
1.1 PM2μ κ°λ
PM2(Processing Manager 2)λ Node.js μ ν리μΌμ΄μ μ κ΄λ¦¬νκ³ λͺ¨λν°λ§νλ νλ‘μΈμ€ κ΄λ¦¬μμ λλ€. Node.js μ ν리μΌμ΄μ μ μ΄μμ νμν λ€μν κΈ°λ₯μ μ 곡νμ¬ κ°λ°μκ° ν¨κ³Όμ μΌλ‘ μ ν리μΌμ΄μ μ κ΄λ¦¬ν μ μλλ‘ λμμ€λλ€.
1.2 PM2μ μ£Όμ κΈ°λ₯
- νλ‘μΈμ€ κ΄λ¦¬: Node.js μ ν리μΌμ΄μ μ λ°±κ·ΈλΌμ΄λμμ μ€ννκ³ κ΄λ¦¬ν©λλ€.
- μλ 리μ€ννΈ: νλ‘μΈμ€κ° λΉμ μμ μΌλ‘ μ’ λ£λ κ²½μ° μλμΌλ‘ λ€μ μμν©λλ€.
- λ‘κΉ λ° λͺ¨λν°λ§: μ€ν μ€μΈ μ ν리μΌμ΄μ μ λ‘κ·Έλ₯Ό μμ§νκ³ λͺ¨λν°λ§ν μ μμ΅λλ€.
- 무μ€λ¨ λ°°ν¬: μ ν리μΌμ΄μ μ λ°μ΄νΈ μ downtime μμ΄ λ°°ν¬ν μ μμ΅λλ€.
2. PM2 μ¬μ© μμ
2.1 PM2 μ€μΉ
npm install -g pm2
2.2 μ ν리μΌμ΄μ μ€ν
pm2 start app.js --name my-app
2.3 νλ‘μΈμ€ λͺ©λ‘ νμΈ
pm2 list
2.4 λ‘κ·Έ νμΈ
pm2 logs my-app
2.5 μ ν리μΌμ΄μ μ€μ§
pm2 stop my-app
3. PM2μ μ₯μ
3.1 μμ μ±κ³Ό μ λ’°μ±
PM2λ νλ‘μΈμ€λ₯Ό λͺ¨λν°λ§νκ³ , λΉμ μ μ’ λ£ μ μλμΌλ‘ μ¬μμνμ¬ μμ€ν μ μμ μ±κ³Ό μ λ’°μ±μ λμ λλ€.
3.2 μμ°μ± ν₯μ
PM2λ₯Ό μ¬μ©νλ©΄ νλ‘μΈμ€ κ΄λ¦¬, λ‘κΉ , λͺ¨λν°λ§ λ±μ κΈ°λ₯μ νμ©νμ¬ κ°λ°μλ μ ν리μΌμ΄μ μ ν΅μ¬ λ‘μ§μ λ μ§μ€ν μ μμ΅λλ€.
3.3 무μ€λ¨ λ°°ν¬
PM2λ 무μ€λ¨ λ°°ν¬λ₯Ό μ§μνμ¬ μ ν리μΌμ΄μ μ μ λ°μ΄νΈλ₯Ό λ³΄λ€ μμ νκ² μνν μ μμ΅λλ€.
4. PM2μ νμ©
4.1 ν΄λ¬μ€ν° λͺ¨λ
pm2 start app.js -i max
ν΄λ¬μ€ν° λͺ¨λλ₯Ό μ¬μ©νμ¬ μ¬λ¬ νλ‘μΈμ€κ° λ³λ ¬λ‘ μ€νλμ΄ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€.
4.2 νκ²½ λ³μ μ€μ
pm2 start app.js --env production
νκ²½ λ³μλ₯Ό μ€μ νμ¬ κ°κ°μ νλ‘μΈμ€κ° λ€λ₯Έ νκ²½μμ μ€νλλλ‘ κ΅¬μ±ν μ μμ΅λλ€.
4.3 PM2μ μΆκ° κΈ°λ₯
- PM2 λͺ¨λν°:
pm2 monit
λͺ λ Ήμ΄λ₯Ό ν΅ν΄ CPU, λ©λͺ¨λ¦¬ μ¬μ©λ λ±μ μ€μκ°μΌλ‘ λͺ¨λν°λ§ν μ μμ΅λλ€. - μ€μ νμΌ νμ©:
ecosystem.config.js
νμΌμ ν΅ν΄ μ ν리μΌμ΄μ μ μ€μ μ κ΄λ¦¬ν μ μμ΅λλ€. - λ‘κ·Έ κ΄λ¦¬:
pm2 logs
λͺ λ Ήμ΄λ‘ λ‘κ·Έλ₯Ό μ½κ² νμΈνκ³ νμμ λ°λΌ λ‘κ·Έ λ 벨μ μ‘°μ ν μ μμ΅λλ€.
5. λ§λ¬΄λ¦¬
PM2λ Node.js μ ν리μΌμ΄μ μ ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νκ³ μ΄μν μ μλ κ°λ ₯ν λꡬμ λλ€. μμ μ±, μμ°μ±, 무μ€λ¨ λ°°ν¬ λ± λ€μν μ₯μ μ μ 곡νλ―λ‘ Node.js κ°λ°μλ€μκ² κΆμ₯λλ νλ‘μΈμ€ κ΄λ¦¬ λꡬ μ€ νλμ λλ€. PM2λ₯Ό μ μ ν νμ©νμ¬ Node.js μ ν리μΌμ΄μ μ μ΄μμ λ³΄λ€ ν¨μ¨μ μΌλ‘ μνν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μμ μ μ΄κ³ μ±λ₯ νμν μλΉμ€λ₯Ό μ 곡νμΈμ.
'IT' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μΉ μ κ·Όμ±κ³Ό μΉ νμ€: μΉ κ°λ°μ ν΅μ¬ κ°λ (0) | 2024.02.14 |
---|---|
CORS(Cross-Origin Resource Sharing)μ λν μ΄ν΄μ λμ λ°©λ² (0) | 2024.02.14 |
TDD(Test-Driven Development) μκ°μ νμ© λ°©λ² (0) | 2024.02.13 |
Hadoop Ecosystem: λμ©λ λ°μ΄ν° μ²λ¦¬μ ν΅μ¬ (0) | 2024.02.13 |
Open API: μκ°, μ₯/λ¨μ , νμ©λ μλΉμ€λ€ (0) | 2024.02.10 |
λκΈ