


Mari kita bincangkan secara mendalam tentang cara menggunakan alat pengurusan proses Node-pm2
Cara menggunakan alat pengurusan proses Node-pm2 Dalam artikel ini, kami akan bercakap tentang cara menggunakan alat pengurusan proses Node-pm2.
Apakah itu pm2
pm2 ialah alat pengurusan daemon yang boleh membantu anda melindungi dan mengurus aplikasi anda. Biasanya, pm2 digunakan untuk pengurusan apabila perkhidmatan itu berada dalam talian. Sebenarnya terdapat banyak perkara yang pm2 boleh lakukan, seperti memantau perubahan fail dan dimulakan semula secara automatik, pengurusan bersatu pelbagai proses, pengimbangan beban terbina dalam, sistem pengelogan, dll. Mari kita lihat cara menggunakan pm2
tutorial video nodejs,Pengajaran pengaturcaraannpm init
]
npm i pm2 -g
Seterusnya kita akan menggunakan arahan pertama pm2: dan mulakan kedua-dua program ini masing-masing
//index.js let http = require("http"); let server = http.createServer(); server.on("request", function (req, res) { console.log("------------------enter"); res.write("hello juejin"); res.end(); }); server.listen(3000, function () { console.log(`服务器启动成功,通过http://localhost:3000/进行访问`); });
//index2.js let http = require("http"); let server = http.createServer(); server.on("request", function (req, res) { console.log("------------------enter2"); res.write("hello juejin2"); res.end(); }); server.listen(3001, function () { console.log(`服务器启动成功,通过http://localhost:3001/进行访问`); });
Sudah tentu, jika anda ingin menentukan nama proses, anda boleh melakukan ini: pm2 start index.js
, jika anda ingin memantau fail perubahan, anda boleh menambah pm2 start index2.js
Tunggu
Lawati
pm2 start -n test index.js
--watch
Anda boleh lihat log yang kami cetakhttp://localhost:3000/
pm2 log
- Mulakan Semula 1/Berbilang/Semua Program
pm2 stop id/id1 id2 id3/all
Lancarkan dan lihat logpm2 delete id/id1 id2 id3/all
Senaraikan aplikasi-
pm2 restart id/id1 id2 id3/all
Lihat panel pemantauan pm2 start api.js --attach
Lihat data programpm2 list
- Pengimbangan beban
pm2 monit
Kita semua tahu bahawa NodeJS ialah utas tunggal tak segerak Jika bahasa digunakan terus ke pelayan tanpa sebarang pemprosesan, maka ia hanya boleh menggunakan satu utas pelayan, yang merupakan pembaziran prestasi yang besar. pm2 show [id]
Menggunakan pm2 hanya memerlukan satu arahan untuk membenarkan program kami menggunakan sepenuhnya CPU pelayan Ambil index.js sebagai contoh: , sebagai contoh, jika komputer saya mempunyai 10 teras dan 20 utas, ia akan membuka 20 utas
pm2 start index -i max
pm2 start index -i 3
Kami semua menggunakan baris arahan untuk menguruskan contoh di atas, yang sebenarnya agak menyusahkan, pm2 menyediakan bentuk konfigurasi fail.
Kami terus menggunakan arahan untuk menjana fail konfigurasi ringkas
dan kemudian kami akan proses asal Bunuh mereka semua dan laksanakan
Begitu juga, dua perkhidmatan kami dimulakanpm2 init simple
ecosystem.config.js
module.exports = { apps: [ { name: "index", script: "./index.js", }, { name: "index2", script: "./index2.js", }, ], };
pm2 start ecosystem.config.js
Log<🎜. >Log sangat penting untuk penyelesaian masalah bahagian belakang pm2 mempunyai fungsi log sendiri Contohnya, kami mengkonfigurasi parameter berkaitan log dalam fail konfigurasi di atas
ecosystem.config.js
Apabila kami memulakan projek. , log akan direkodkan dalam log
module.exports = { apps: [ { name: "index", //name script: "./index.js", //相对于pm2 start 的相对路径 cwd: "", //要启动的应用程序的目录 instances: 2, //要启动实例的数量,就是上面提到的负载 watch: true, //是否启动监听 env: { NODE_ENV: "development" }, // 将出现在您的应用程序中的 env 变量 env_xxx: { NODE_ENV: "xxx", //使用pm2注入xxx变量进行切换 }, log_date_format: "YYYY-MM-DD HH:mm Z", //日志时间格式 error_file: "./log/index-error.log", //错误文件路径 out_file: "./log/index-out.log", //输出日志文件路径 max_restarts: 10, //最大重启数 restart_delay: 4000, //重启延迟时间ms autorestart: true, //是否自动重启 cron_restart: "", //定时重启 使用cron表达式 }, { name: "index2", script: "./index2.js", }, ], };
Fungsi log PM2 sendiri tidak menyokong pemisahan log. Apabila masa berlalu, fail log akan menjadi lebih besar dan lebih besar, yang bukan sahaja akan menjejaskan prestasi, tetapi juga sangat menyusahkan untuk menyelesaikan masalah kemudian, jadi kita perlu membahagikan log. Operasi pemisahan log adalah sangat mudah Anda hanya perlu memasang pemalam
Sila ambil perhatian bahawa di sini adalah pm2 installlog_date_format: "YYYY-MM-DD HH:mm Z", //日志时间格式 error_file: "./log/index-error.log", //错误文件路径 out_file: "./log/index-out.log", //输出日志文件路径
Terangkan maksud yang berkaitanpm2-logrotate
Compress:是否通过 gzip 压缩日志
max_size:单个日志文件的大小
retain:保留的日志文件个数
dateFormat:日志文件名中的日期格式,默认是 YYYY-MM-DD_HH-mm-ss
rotateModule:是否把 pm2 本身的日志也进行分割,
workerInterval:检查文件时间间隔
rotateInterval:设置强制分割,默认值是 0 0 * * *,意思是每天晚上 0 点分割,这里使用的是 corn 表达式,不会的可以搜索一下
如果我们想要配置也很简单,比如修改 max_size
pm2 set pm2-logrotate:max_size 1K
然后我们简单测试一下这个工具,我们先设置每个 log 文件最大 1kb
然后重启我们的项目
pm2 restart ecosystem.config.js
然后就会发现我们的日志被分割了
总结
pm2对于node服务的管理是十分方便的,文中提到的只是其中一部分,如果你想使用pm2管理你的服务的话可以到官网pm2.io/ 进行学习
更多node相关知识,请访问:nodejs 教程!
Atas ialah kandungan terperinci Mari kita bincangkan secara mendalam tentang cara menggunakan alat pengurusan proses Node-pm2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

Sebab mengapa nod tidak boleh menggunakan arahan npm adalah kerana pembolehubah persekitaran tidak dikonfigurasikan dengan betul Penyelesaiannya ialah: 1. Buka "Sistem Sifat"; 2. Cari "Pembolehubah Persekitaran" -> "Pembolehubah Sistem", dan kemudian edit persekitaran. pembolehubah; 3. Cari lokasi folder nodejs;
