Cách cài đặt và sử dụng PM2 để chạy, quản lý ứng dụng Node.js đơn giản nhất

PM2 là một trình quản lý quy trình cấp sản xuất tiên tiến, hiệu quả và đa nền tảng mã nguồn mở miễn phí cho Node.js một bộ cân bằng tải tích hợp. Nó hoạt động trên Linux, MacOS cũng như Windows.

Bước 1: Cài đặt Nodejs và NPM trong Linux

1. Để cài đặt phiên bản mới nhất của Node.js và NPM trước tiên bạn cần kích hoạt kho lưu trữ NodeSource chính thức trong bản phân phối Linux của bạn và sau đó cài đặt Node.js và NPM như hình.

Trên Debian / Ubuntu

---------- Install Node.js v11.x ---------- $ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -$ sudo apt-get install -y nodejs---------- Install Node.js v10.x ----------$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -$ sudo apt-get install -y nodejs

Trên CentOS / RHEL và Fedora

---------- Install Node.js v11.x ---------- $ curl -sL https://rpm.nodesource.com/setup_11.x | bash ----------- Install Node.js v10.x ----------$ curl -sL https://rpm.nodesource.com/setup_10.x | bash -

Bước 2: Tạo ứng dụng Nodejs

2. Bây giờ, hãy tạo một ứng dụng thử nghiệm (chúng tôi sẽ giả sử nó có một phía khách hàng và quản trị viên chia sẻ cùng một cơ sở dữ liệu), các microservices sẽ chạy trên các cổng 3000và 3001 tương ứng.

$ sudo mkdir -p /var/www/html/app$ sudo mkdir -p /var/www/html/adminside$ sudo vim /var/www/html/app/server.js$ sudo vim /var/www/html/adminside/server.js

Tiếp theo, sao chép và dán các đoạn mã sau vào server.jss (thay thế 192.168.43.31 IP máy chủ của bạn).

##mainapp codeconst http = require('http');const hostname="192.168.43.31";const port = 3000;const server = http.createServer((req, res) = {	res.statusCode = 200;  	res.setHeader('Content-Type', 'text/plain');  	res.end('This is the Main App!n');});server.listen(port, hostname, () = {  	console.log(`Server running at http://${hostname}:${port}/`);});##adminside codeconst http = require('http');const hostname="192.168.43.31";const port = 3001;const server = http.createServer((req, res) = {	res.statusCode = 200;  	res.setHeader('Content-Type', 'text/plain');  	res.end('This is the Admin Side!n');});server.listen(port, hostname, () = {  	console.log(`Server running at http://${hostname}:${port}/`);});

Lưu file và thoát.

Bước 3: Cài đặt Product Process Manager PM2 trong Linux

3. Phiên bản ổn định mới nhất của PM2 có sẵn để cài đặt qua NPM như hình.

$ sudo npm i -g pm2 

4. Một lần PM2 được cài đặt, bạn có thể khởi động các ứng dụng nút của mình bằng các lệnh sau.

$ sudo node /var/www/html/app/server.js$ sudo node /var/www/html/adminside/server.js

Lưu ý rằng, trong môi trường sản xuất, bạn nên bắt đầu chúng bằng cách sử dụng PM2 như được hiển thị (bạn có thể không cần lệnh sudo nếu ứng dụng của bạn được lưu trữ ở vị trí mà người dùng bình thường có quyền đọc và ghi).

$ sudo pm2 start /var/www/html/app/server.js$ sudo pm2 start /var/www/html/adminside/server.js
Khởi động ứng dụng Nodejs bằng PM2

Bước 4: Cách sử dụng và quản lý PM2 trong Linux

5. Để khởi động một ứng dụng ở chế độ cụm bằng cách sử dụng -i để chỉ định số lượng phiên bản, chẳng hạn.

$ sudo pm2 start /var/www/html/app/server.js -i 4 $ sudo pm2 scale 0 8			#scale cluster app to 8 processes

6. Để liệt kê tất cả ứng dụng nút của bạn (process / microservices), hãy chạy lệnh sau.

$ sudo pm2 list
Liệt kê tất cả ứng dụng nút được quản lý PM2
Liệt kê tất cả ứng dụng nút được quản lý PM2

7. Để theo dõi nhật ký, số liệu tùy chỉnh, hãy xử lý thông tin từ tất cả các quy trình bằng cách chạy lệnh sau.

$ sudo pm2 monit
Giám sát tất cả các quá trình nút
Giám sát tất cả các quá trình nút

8. Để xem chi tiết của một quy trình Node đơn lẻ như được hiển thị, sử dụng ID hoặc tên quy trình.

$ sudo pm2 show 0
Xem chi tiết về ứng dụng đơn
Xem chi tiết về ứng dụng đơn

Bước 5: Cách quản lý ứng dụng nút bằng PM2 trong Linux

9. Sau đây là danh sách một số lệnh quản lý quy trình phổ biến (đơn lẻ hoặc tất cả) mà bạn cần lưu ý.

$ sudo pm2 stop all                  		#stop all apps$ sudo pm2 stop 0                    		#stop process with ID 0$ sudo pm2 restart all               		#restart all apps$ sudo pm2 reset 0		         	#reset all counters$ sudo pm2 delete all                		#kill and remove all apps$ sudo pm2 delete 1                 		#kill and delete app with ID 1

10. Để quản lý nhật ký ứng dụng, hãy sử dụng các lệnh sau.

$ sudo pm2 logs                      	#view logs for all processes $ sudo pm2 logs 1	         	#view logs for app 1$ sudo pm2 logs --json               	#view logs for all processes in JSON format$ sudo pm2 flush			#flush all logs

11. Để quản lý quy trình PM2, hãy sử dụng các lệnh sau.

$ sudo pm2 startup            #enable PM2 to start at system boot$ sudo pm2 startup systemd    #or explicitly specify systemd as startup system $ sudo pm2 save               #save current process list on reboot$ sudo pm2 unstartup          #disable PM2 from starting at system boot$ sudo pm2 update	      #update PM2 package

Bước 6: Truy cập ứng dụng nút từ trình duyệt web

12. Để truy cập tất cả ứng dụng nút của bạn từ trình duyệt web từ xa, trước tiên bạn cần mở các cổng sau trên tường lửa hệ thống của mình, để cho phép ứng dụng khách kết nối với các ứng dụng như được minh họa.

-------- Debian and Ubuntu -------- $ sudo ufw allow 3000/tcp$ sudo ufw allow 3001/tcp$ sudo ufw reload-------- RHEL and CentOS --------# firewall-cmd --permanent --add-port=3000/tcp# firewall-cmd --permanent --add-port=3001/tcp# firewall-cmd --reload 

13. Sau đó, truy cập ứng dụng của bạn từ trình duyệt web bằng các URL sau:

http://198.168.43.31:3000http://198.168.43.31:3001 
Truy cập ứng dụng nút từ trình duyệt

Cuối cùng nhưng không kém phần quan trọng, PM2 là một hệ thống mô-đun đơn giản, được tích hợp sẵn để mở rộng các khả năng cốt lõi của nó, một số mô-đun bao gồm pm2-logrotate, pm2-webshell, pm2-server-Tram, v.v. – bạn cũng có thể tạo và sử dụng các mô-đun của riêng mình.

Để biết thêm thông tin, hãy truy cập kho lưu trữ PM2 GitHub: https://github.com/Unitech/PM2/.

PM2 là trình quản lý quy trình cấp sản xuất tiên tiến và hiệu quả cho Node.js một bộ cân bằng tải tích hợp. Trong bài viết này, chúng tôi đã hướng dẫn cách cài đặt và sử dụng PM2 để quản lý các ứng dụng Nodejs trong Linux. Nếu bạn có bất kỳ ý kiến hoặc câu hỏi nào, hãy cho 2error biết bằng cách để lại bình luận bên dưới bạn nhé!


Tuấn Nguyễn

587 Blog posts

Comments