# Chương 3: Triển khai hệ thống (Deploy)

Chương này hướng dẫn quy trình build và triển khai ứng dụng Java (Spring Boot) lên các môi trường dev/staging/production. Bao gồm chuẩn bị hạ tầng, build artifact (JAR), cấu hình biến môi trường, chạy ứng dụng dạng service hoặc Docker container, cấu hình reverse proxy (Nginx), database migration và kiểm tra sau triển khai. Mục tiêu đảm bảo ứng dụng chạy ổn định, có thể giám sát và rollback khi cần.

# Hướng dẫn chi tiết

## 1. Yêu cầu hạ tầng

**Server tối thiểu**

- CPU: ≥ 2 core
- RAM: ≥ 4 GB (prod ≥ 8 GB)
- Disk: ≥ 20 GB
- OS: Linux (Ubuntu 20.04+ / CentOS 7+)
- Java: OpenJDK 17 (khuyến nghị LTS)

Cài Java:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-sudo-apt-update-sudo"><div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-built_in">sudo</span> apt update<span class="hljs-built_in">sudo</span> apt install openjdk-17-jdk -yjava -version`</div></div>---

## 2. Build ứng dụng

### Build bằng Maven

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-mvn-clean-package--d"><div class="overflow-y-auto p-4" dir="ltr">`mvn clean package -DskipTests`</div></div>Artifact tạo ra:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-target%2Fapp.jar"><div class="overflow-y-auto p-4" dir="ltr">`target/app.jar`</div></div>##  

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk--1"><div class="overflow-y-auto p-4" dir="ltr"></div></div>