Thứ Tư, 26/08/2026, 17:00 (GMT+0)

Apache Tomcat là gì? Vai trò, kiến trúc và hướng dẫn cài đặt chi tiết

Quay lại Trang chủ Blog
Trên trang này

Apache Tomcat là nền tảng được sử dụng rộng rãi để triển khai và vận hành các ứng dụng web Java trong môi trường phát triển lẫn production. Nhờ thiết kế gọn nhẹ, hiệu năng ổn định và khả năng tương thích cao với các đặc tả Jakarta Servlet và JSP, Tomcat đã trở thành lựa chọn quen thuộc của nhiều doanh nghiệp và lập trình viên. Vậy Apache Tomcat là gì, hoạt động như thế nào và khác gì so với Apache HTTP Server?

Apache Tomcat là gì?

Apache Tomcat là một Servlet Container (trình chứa Servlet) mã nguồn mở do Apache Software Foundation phát triển, được sử dụng để triển khai, vận hành và quản lý các ứng dụng web viết bằng Java. Tomcat hiện thực các đặc tả Jakarta Servlet, JavaServer Pages (JSP), Jakarta Expression Language (EL) và WebSocket, từ đó cung cấp môi trường để ứng dụng Java xử lý các yêu cầu HTTP và tạo nội dung động cho người dùng.

Hiểu đơn giản, nếu một ứng dụng web được phát triển bằng Java, Apache Tomcat sẽ đóng vai trò là môi trường thực thi giúp ứng dụng hoạt động trên máy chủ. Khi người dùng gửi yêu cầu từ trình duyệt, Tomcat sẽ tiếp nhận yêu cầu, chuyển đến các thành phần Java như Servlet hoặc JSP để xử lý, sau đó trả kết quả về cho người dùng.

apache-tomcat-la-gi-001.jpg

Apache Tomcat dùng để làm gì?

Apache Tomcat được sử dụng để triển khai và vận hành các ứng dụng web viết bằng Java. Một số mục đích sử dụng phổ biến gồm:

  • Triển khai ứng dụng web Java: Cung cấp môi trường chạy cho các ứng dụng được đóng gói dưới dạng WAR (Web Application Archive), hỗ trợ Servlet, JSP và các công nghệ web của Java.
  • Xử lý yêu cầu HTTP: Tiếp nhận request từ trình duyệt, thực thi logic nghiệp vụ thông qua Servlet và trả về nội dung động cho người dùng.
  • Làm nền tảng cho các framework Java: Hỗ trợ vận hành các ứng dụng phát triển bằng Spring Boot, Struts, JSF và nhiều framework Java khác.
  • Triển khai API backend: Chạy các dịch vụ RESTful API và ứng dụng backend Java trong môi trường doanh nghiệp.
  • Kết hợp với web server: Có thể hoạt động cùng Apache HTTP Server hoặc Nginx theo mô hình reverse proxy để xử lý SSL, phân phối tải và phục vụ nội dung tĩnh.
  • Phát triển và kiểm thử ứng dụng: Được sử dụng phổ biến trong môi trường development, testing và production nhờ khả năng triển khai đơn giản, ổn định và dễ quản trị.

Các phiên bản Apache Tomcat 

Apache Tomcat đã trải qua nhiều phiên bản phát triển nhằm cập nhật các tiêu chuẩn Servlet, JSP và Jakarta EE, đồng thời cải thiện hiệu năng, bảo mật và khả năng tương thích với Java. Dưới đây là những phiên bản phổ biến và điểm nổi bật của từng nhánh.

Phiên bản

Đặc điểm nổi bật

Tomcat 11.x

Triển khai các đặc tả web thuộc Jakarta EE 11 như Servlet 6.1, Pages 4.0, EL 6.0 và WebSocket 2.2; yêu cầu Java 17 trở lên.

Tomcat 10.1.x

Triển khai Servlet 6.0, Pages 3.1, EL 5.0 và WebSocket 2.1 thuộc Jakarta EE 10; yêu cầu Java 11 trở lên. 

Tomcat 10.0.x

Phiên bản đầu tiên chuyển từ javax.* sang jakarta.*, đánh dấu quá trình chuyển đổi từ Java EE sang Jakarta EE.

Tomcat 9.x

Triển khai Servlet 4.0, JSP 2.3, EL 3.0 và WebSocket 1.1 thuộc Java EE 8; yêu cầu Java 8 trở lên và vẫn sử dụng namespace javax.* .

Tomcat 8.5.x

Hỗ trợ Servlet 3.1, HTTP/2, WebSocket và cải thiện hiệu năng so với Tomcat 8.0.x.

Tomcat 7.x

Bổ sung Servlet 3.0, xử lý bất đồng bộ (Asynchronous Processing) và tăng cường bảo mật.

Tomcat 6.x

Hỗ trợ Servlet 2.5, tối ưu bộ nhớ, I/O và khả năng clustering.

Tomcat 5.x

Cải thiện hiệu năng, khả năng mở rộng và tích hợp JMX để quản trị, giám sát máy chủ.

Tomcat 4.x

Giới thiệu Catalina – Servlet Container với kiến trúc hoàn toàn mới, nền tảng cho các phiên bản Tomcat hiện đại.

Tomcat 3.x

Phiên bản đầu tiên của Apache Tomcat, triển khai Servlet 2.2 và JSP 1.1.

Lưu ý: Hiện nay, Apache chỉ còn hỗ trợ Tomcat 11.x, Tomcat 10.1.x và Tomcat 9.x. Các phiên bản cũ như 10.0.x, 8.5.x, 7.x và thấp hơn đã kết thúc vòng đời (End of Life - EOL), không còn nhận các bản vá lỗi và cập nhật bảo mật. 

Ưu nhược điểm của Apache Tomcat

Dưới đây là những ưu điểm và nhược điểm nổi bật của Apache Tomcat mà bạn nên cân nhắc trước khi triển khai:

Ưu điểm

Nhược điểm 

  • Mã nguồn mở, hoàn toàn miễn phí
  • Nhẹ, khởi động nhanh, tiêu tốn ít tài nguyên.
  • Dễ cài đặt, cấu hình và triển khai.
  • Hoạt động trên Windows, Linux, macOS và các nền tảng hỗ trợ JVM.
  • Tích hợp tốt với Spring Boot và hệ sinh thái Java.
  • Cộng đồng lớn, tài liệu phong phú và cập nhật thường xuyên.
  • Không hỗ trợ đầy đủ Jakarta EE (EJB, JMS, CDI...).
  • Hiệu suất xử lý nội dung tĩnh không bằng Nginx hoặc Apache HTTP Server.
  • Cần tinh chỉnh JVM và Connector để đạt hiệu suất tối ưu với tải lớn.
  • Cấu hình nâng cao (clustering, SSL, tuning) tương đối phức tạp.
  • Chủ yếu phù hợp với ứng dụng Java, không phải lựa chọn tối ưu cho ứng dụng đa ngôn ngữ.
  • Không tích hợp sẵn nhiều dịch vụ enterprise như các application server đầy đủ (WildFly, GlassFish...).

Kiến trúc của Apache Tomcat 

Apache Tomcat được xây dựng theo mô hình phân cấp, trong đó mỗi thành phần đảm nhiệm một vai trò riêng trong quá trình tiếp nhận và xử lý yêu cầu từ client. Các thành phần chính gồm:

Thành phần

Chức năng

Server

Thành phần cấp cao nhất trong toàn bộ kiến trúc Apache Tomcat, đại diện cho toàn bộ phiên bản Tomcat đang chạy và quản lý các Service.

Service

Liên kết một hoặc nhiều Cổng kết nối (Connector) với một Bộ máy xử lý (Engine) để xử lý các yêu cầu.

Connector

Tiếp nhận kết nối từ client thông qua HTTP, HTTPS hoặc AJP rồi chuyển yêu cầu đến Engine.

Engine

Thành phần xử lý trung tâm, quyết định Host và Context nào sẽ tiếp nhận request.

Host

Đại diện cho một máy chủ ảo (Virtual Host), cho phép một Tomcat phục vụ nhiều tên miền khác nhau.

Context

Đại diện cho một ứng dụng web (Web Application), quản lý toàn bộ tài nguyên và cấu hình của ứng dụng đó.

Hướng dẫn cài đặt Apache Tomcat 

Trước khi tiến hành cài đặt Apache Tomcat, người dùng cần đảm bảo một số yêu cầu cơ bản sau: 

  • Đã cài đặt Java Development Kit (JDK) hoặc Java Runtime Environment (JRE) tương thích với phiên bản Tomcat. 
  • Có quyền quản trị cao nhất (administrator) trên Windows 

Sau khi đã đáp ứng các yêu cầu trên, bạn chỉ cần thực hiện theo hướng dẫn sau để tải xuống Apache Tomcat: 

Bước 1: Truy cập trang tải xuống chính thức của Apache Tomcat tại https://tomcat.apache.org/download-10.cgi

Bước 2: Kéo xuống mục Binary Distributions, sau đó tìm đến phần Core và tải 32-bit/64-bit Windows Service Installer (.exe).

apache-tomcat-la-gi-1.webp

Bước 3: Sau khi tải xuống hoàn tất, mở thư mục chứa tệp cài đặt (mặc định là Downloads) và nhấp đúp vào tệp apache-tomcat-10.1.57.exe (hoặc phiên bản tương ứng) để khởi chạy trình cài đặt. Tại màn hình chào mừng, nhấn Next để bắt đầu quá trình cài đặt. 

apache-tomcat-la-gi-2.webp

Bước 4: Trong trình hướng dẫn cài đặt, lần lượt thực hiện các thiết lập sau:

  • License Agreement: Đọc điều khoản sử dụng, sau đó nhấn I Agree để tiếp tục.
  • Choose Components: Chọn Full để cài đặt đầy đủ các thành phần của Apache Tomcat, rồi nhấn Next.
apache-tomcat-la-gi-3.webp
  • Configuration: Thiết lập các thông tin cần thiết như Server Port (mặc định là 8080), Windows Service Name, Administrator UsernamePassword, sau đó nhấn Next.
apache-tomcat-la-gi-4.webp
  • Java Virtual Machine: Kiểm tra hoặc chọn đường dẫn đến JRE/JDK trên hệ thống. Nếu Java đã được cấu hình đúng, trình cài đặt sẽ tự động nhận diện. Nhấn Next để tiếp tục.
apache-tomcat-la-gi-5.webp
  • Choose Install Location: Chọn thư mục cài đặt (hoặc giữ nguyên mặc định), nhấn Install để bắt đầu cài đặt. Chọn Run Apache Tomcat để khởi động dịch vụ và nhấn Finish để kết thúc trình cài đặt.
apache-tomcat-la-gi-6.webp

Bước 5: Chờ quá trình cài đặt hoàn tất. Sau khi cài đặt thành công, bạn có thể bắt đầu sử dụng Apache Tomcat.

apache-tomcat-la-gi-7.webp

Một số câu hỏi về Apache Tomcat 

Apache Tomcat có phải là một Java Server không? 

Có. Apache Tomcat là một Java web server và servlet container, được viết bằng Java và chạy trên Java Virtual Machine (JVM). Tuy nhiên, Tomcat không phải là Jakarta EE (Java EE) application server đầy đủ, vì không hỗ trợ sẵn các công nghệ như Enterprise JavaBeans (EJB), Java Message Service (JMS) hay Java Transaction API (JTA). 

Tomcat giống với Apache không? 

Không. Mặc dù đều do Apache Software Foundation phát triển, Apache Tomcat và Apache HTTP Server là hai phần mềm khác nhau và phục vụ những mục đích riêng.

  • Apache HTTP Server: Là web server đa mục đích, chủ yếu dùng để phục vụ nội dung tĩnh như HTML, CSS, JavaScript và hình ảnh, đồng thời hỗ trợ HTTPS, reverse proxy và cân bằng tải.
  • Apache Tomcat: Là servlet container, được thiết kế để triển khai và chạy các ứng dụng web Java như Servlet, JSP và REST API.

Trong thực tế, Apache HTTP Server và Apache Tomcat thường được triển khai cùng nhau để tận dụng ưu điểm của mỗi giải pháp. Apache HTTP Server sẽ tiếp nhận các yêu cầu từ client, xử lý nội dung tĩnh và SSL/TLS, sau đó chuyển các yêu cầu cần thực thi ứng dụng Java đến Tomcat thông qua cơ chế reverse proxy. 

Hy vọng bài viết đã giúp bạn hiểu Apache Tomcat là gì, cách Tomcat hoạt động cũng như vai trò của nó trong hệ sinh thái Java. Tóm lại, Apache Tomcat sẽ là lựa chọn phù hợp nếu bạn cần một môi trường nhẹ, ổn định để chạy các ứng dụng Java Web. Ngược lại, với những hệ thống yêu cầu đầy đủ các đặc tả Jakarta EE như EJB, JMS hoặc JTA, bạn nên cân nhắc các Application Server chuyên dụng như WildFly hay GlassFish.

#DevOps
#DevOps
Sovereign Cloud không chỉ là đặt máy chủ trong nước. Với bối cảnh pháp lý dữ liệu mới tại Việt Nam, đây đang trở thành bài toán hạ tầng quan trọng cho doanh nghiệp Việt và doanh nghiệp nước ngoài hoạt động tại Việt Nam
Sovereign Cloud - Đám mây chủ quyền là gì? Và vì sao doanh nghiệp hoạt động tại Việt Nam nên quan tâm từ bây giờ?
Tiếp tục đọc