- vừa được xem lúc

Hướng dẫn chạy và quản lý ứng dụng java với supervisor

0 0 13

Người đăng: Hoàng Nguyên

Theo Viblo Asia

Supervisor là một công cụ mã nguồn mở giúp giám sát và điều khiển các tiến trình (process) trên Linux.

Một số đặc điểm và lợi ích chính của Supervisor:

  • Giám sát và khởi động lại các tiến trình tự động nếu chúng bị dừng hoặc crash.

  • Cho phép khởi động, dừng, khởi động lại các tiến trình dễ dàng thông qua CLI hoặc giao diện Web.

  • Cấu hình đơn giản, dễ dàng tích hợp với các ứng dụng khác.

  • Ghi log đầu ra, lỗi của các tiến trình được giám sát.

  • Hỗ trợ nhiều môi trường: Python, Node.js, Java, C/C++,...

  • Mã nguồn mở, cộng đồng lớn, miễn phí.

  • Có thể chạy độc lập hoặc kết hợp với công cụ khác như systemd.

Vì vậy, Supervisor rất hữu ích trong việc giám sát các ứng dụng, dịch vụ trên server. Nó giúp tăng tính sẵn sàng và khả năng phục hồi của hệ thống. Ở phạm vi bài viết này mình sẽ hướng dẫn các bạn chạy ứng dụng java với supervisor một cách cơ bản nhất.

1.Cài đặt supervisor

a) Ubuntu/Debian:

sudo apt install supervisor

b) CentOS/RHEL:

sudo yum install supervisor

Kiểm tra xem supervisor hoạt động chưa bằng lệnh:

sudo systemctl status supervisor

Kết quả hiện ra như hình ( Nếu hoạt động bình thưởng sẽ thấy Active: active (running). image.png

2.Cách sử dụng supervisor:

** Các file cấu hình ứng dụng java (*.conf) sẽ được lưu ở đường đẫn /etc/supervisor/conf.d

File .conf để chạy ứng dụng java sẽ có cấu trúc cơ bản như sau:

ví dụ với file server.conf

[program:army2]
directory=/root/army2 command=/usr/bin/java -jar army2.jar
autostart=true
autorestart=true
stdout_logfile=/root/log/army2-service.log
stderr_logfile=/root/log/army2_err.log

Trong đó:

  • [program:army2]: Định nghĩa một chương trình có tên là army2 để giám sát
  • directory=/root/army2: Thư mục làm việc mặc định của chương trình
  • command=/usr/bin/java -jar army2.jar: Lệnh dùng để khởi chạy ứng dụng java
  • autostart=true: Tự động khởi chạy ứng dụng java khi supervisor start
  • autorestart=true: Tự động khởi động lại ứng dụng java nếu nó bị crash
  • stdout_logfile=/root/log/army2-service.log: Đường dẫn tới file log của dứng dụng java
  • stderr_logfile=/root/log/army2_err.log: Đường dẫn tới file log error của ứng dụng

3.Một số lệnh supervisorctl thường dùng:

  • supervisorctl status : Kiểm tra trạng thái các process

image.png

  • supervisorctl start [tên process]: Khởi động một process
  • supervisorctl stop [tên process]: Dừng một process
  • supervisorctl restart [tên process]: Khởi động lại một process
  • supervisorctl reread: Đọc lại cấu hình mà không cần restart supervisor
  • supervisorctl update: Khởi động lại cấu hình mà không cần restart supervisor
  • supervisorctl reload: Khởi động lại cấu hình và restart supervisor

Bình luận

Bài viết tương tự

- vừa được xem lúc

Deploy app Laravel App lên Heroku có kết nối Database

Trong bài hôm nay, thì mình sẽ giới thiệu cho các bạn cách để deploy một app Laravel lên Heroku bằng git và Heroku CLI. Heroku là nền tảng đám mây cho phép các lập trình viên xây dựng, triển khai, quản lý và mở rộng ứng dụng, nó rất linh hoạt và dễ sử dụng, cung cấp cho một con đường đơn giản nhất đ

0 0 57

- vừa được xem lúc

Những việc cần làm khi deploy một Rails app sử dụng Docker và CircleCI

Bài viết gốc: dnlblog.com. Khi bạn sử dụng docker cho ứng dụng của mình, việc deploy trở nên đơn giản hơn rất nhiều. Nếu bạn kết hợp với CircleCI nữa thì mọi thứ còn tuyệt vời hơn nữa.

0 0 31

- vừa được xem lúc

Deploy application Machine Learning into Cloud Foundry by Docker

Chào mọi người, nội dung của blog nói về việc deploy một ứng dụng Machine Learning lên Cloud Foundry bằng Docker. Tổng quan một số khái niệm cơ bản:.

0 0 47

- vừa được xem lúc

How to Deploy React App to GitHub Pages | Hosting a React App for Free using Github Pages

How to Deploy React App to GitHub Pages | Hosting a React App for Free using Github Pages. . In this video, we will Deploy React App to GitHub Pages. .

0 0 55

- vừa được xem lúc

Deploy thủ công ứng dụng Django

Đối với một developer mà nói, mục đích cuối cùng của chúng ta khi phát triển một sản phẩm là có thể đưa sản phẩm ấy đến được với người dùng, và deploy là bước cuối cùng mà chúng ta cần thực hiện. Tron

0 0 274

- vừa được xem lúc

Docker – Những lý do bạn nên sử dụng Docker cho triển khai ứng dụng của bạn

Đối với những ma mới bắt đầu tập tẹ triển khai (deploy) ứng dụng thì một phần không nhỏ sẽ có chút bỡ ngỡ với Docker và những khái niệm liên quan. Phần lớn các nền tảng, framework, dịch vụ thứ 3 đều b

0 0 74