[Apache Tomcat Là Gì] – Cách cài đặt và cấu hình Tomcat

Nội Dung ChínhKhái niệm Apache là gì?Apache Tomcat là gì?Ưu điểm và nhược điểm của Apache Tomcat là gì?Ưu điểmNhược điểmApache Tomcat thuộc loại máy chủ gì?Hướng dẫn cài đặt Apache TomcatHướng dẫn cài đặt Apache Tomcat trên WindowsHướng dẫn cài đặt Apache Tomcat tại máy chủ UbuntuHướng dẫn cài đặt Command-lineHướng dẫn cài đặt … Tiếp tục đọc [Apache Tomcat Là Gì] – Cách cài đặt và cấu hình Tomcat


Chắc hẳn bạn đã nhiều lần nghe tới thuật ngữ Apache Tomcat nhưng vẫn chưa hiểu về toàn bộ định nghĩa về nó. Apache Tomcat là một vùng chứa Java servlet lâu đời, nó được sử dụng để deploy các ứng dụng Java Web và hoàn toàn miễn phí. Bài viết này sẽ đi từ định nghĩa Apache Tomcat là gì và hướng dẫn cài đặt Apache Tomcat đơn giản nhất.

Khái niệm Apache là gì?

Apache là tên gọi tắt của Apache HTTP Server, một chương trình máy chủ đối thoại qua giao thức HTTP. Apache là phần mềm web server được sử dụng rộng rãi với thị phần chiếm khoảng 46% websites trên toàn thế giới.

Apache có thể hoạt động tốt trên tất cả các hệ điều hành phổ biến. Ví dụ: Unix, Windows, Linux, Novell Netware,… Apache giữ vai trò quan trọng trong sự phát triển của mạng web thế giới www.

khai niem apache
Apache là gì?

Apache được điều hành và phát triển bởi Apache Software Foundation với mục đích giúp người điều hành website đưa nội dung lên trang web của họ. Vì vậy, Apache được sắp xếp vào dạng phần mềm “web server” và là một trong những web server lâu đời và uy tín nhất với phiên bản đầu tiên ra đời từ hơn 20 năm trước.

Ngoài ra, Apache còn được coi là một trong những web server được sử dụng rộng rãi nhất thế giới. Nó giúp người dùng xây dựng website an toàn, tiết kiệm chi phí, công sức,…

Banner Hosting Cao Cấp dành cho SEOer

Để thực sự hiểu rõ hơn “Apache là gì” và các định nghĩ liên quan, hãy tham khảo bài viết này: Apache là gì? Tổng quan kiến thức về Apache dành cho người mới.

Apache Tomcat là gì?

Tương tự như định nghĩa Apache là gì? Vietnix vừa giới thiệu ở trên, Apache Tomcat là một loại web server HTTP được điều hành và phát triển bởi Apache Software Foundation. Nhiệm vụ của Apache Tomcat là hỗ trợ cho các ứng dụng Java thay vì các website tĩnh khác.

Tomcat là một vùng chứa Java servlet, triển khai các thông số kỹ thuật cốt lõi của Java, và có khả năng chạy trên nhiều bản Java chuyên biệt như: Java Servlet, JavaServer Pages (JSP) và WebSockets APIs.

Apache Tomcat Là Gì
Apache Tomcat Là Gì

Là một dự án của Apache Software Foundation, Tomcat được phát hành lần đầu vào năm 1998, nghĩa là chỉ 4 năm sau sự ra đời của Java. Khởi đầu như một triển khai tham chiếu cho Java Servlet API và JSP. Dù hiện nay không còn là triển khai tham chiếu cho các công nghệ này, Apache Tomcat vẫn là máy chủ Java được sử dụng rộng rãi nhất.

Ưu điểm và nhược điểm của Apache Tomcat là gì?

Dưới đây là một số ưu và nhược điểm của Apache Tomcat, để hiểu rõ hơn về Apache Tomcat mời bạn cùng tìm hiểu nhé.

Ưu điểm

  • Tính ổn định cao.
  • Tích hợp các tính năng của các ứng dụng web thương mại. 
  • Sở hữu những chức năng bổ sung như: specialized realm implementation, tomcat manager application, và tomcat valves.
  • Apache Tomcat sở hữu mã nguồn mở của Apache.
  • Những phiên bản của Apache Tomcat tương đồng với các phiên bản cũng như đặc điểm kỹ thuật của Servlet Java hoặc Java servlet API.
  • Có khả năng hỗ trợ cho các hệ điều hành như: Windows, Linux, macOS, BSD,…

Nhược điểm

Bên cạnh những ưu điểm có thể thấy ở trên, Apache Tomcat cũng tồn tại một số nhược điểm sau:

  • Khi sử dụng Apache Tomcat tốc độ website có thể bị ảnh hưởng với lượng truy cập lớn. 
  • Vấn đề bảo mật bị tác động bởi có quá nhiều các lựa chọn được thiết lập.

Apache Tomcat thuộc loại máy chủ gì?

Hệ sinh thái Java hỗ trợ nhiều loại máy chủ ứng dụng. Do đó, hãy phân biệt chúng để xem Apache Tomcat phù hợp với loại nào:

  • Vùng chứa servlet: Là một triển khai của đặc tả Java Servlet, được sử dụng chủ yếu để lưu trữ các Java servlet.
  • Máy chủ web: Là một máy chủ được thiết kế để phục vụ các File từ hệ thống cục bộ, như Apache.
  • Máy chủ ứng dụng doanh nghiệp Java: Là một triển khai toàn diện của đặc tả Java EE (nay là Jakarta EE).
Apache Tomcat thuộc loại máy chủ gì?
Apache Tomcat thuộc loại máy chủ gì?

Về cơ bản, Tomcat là một vùng chứa servlet và JSP. Một Java servlet “đóng gói” mã và logic kinh doanh. Sau đó xác định cách các yêu cầu và phản hồi nên được xử lý trong một máy chủ Java. JSP là công nghệ kết xuất chế độ xem phía máy chủ. Với vai trò của một developer, bạn sẽ viết trang servlet hoặc JSP. Sau đó, sẽ xử lý việc định tuyến.

Bên cạnh đó, Tomcat cũng chứa công cụ Coyote – Là một máy chủ web. Nhờ vào Coyote, mới có thể được mở rộng để chứa nhiều thông số kỹ thuật và khả năng hơn cho doanh nghiệp Java. Trong đó bao gồm cả Java Persistence API (JPA). Ngoài ra, Apache Tomcat cũng có phiên bản mở rộng là TomEE. Nó có nhiều tính năng doanh nghiệp hơn phiên bản tiêu chuẩn.

>> Xem thêm: Cách sửa lỗi Apache không start được trong XAMPP

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

Với tuổi đời khá cao trong thế giới phần mềm, hiện nay có rất nhiều phiên bản để cài đặt. Thông tin về sự khác nhau giữa các phần mềm có thể được xem ở trang chủ Tomcat. Thông thường, ta sẽ có thể chọn phiên bản mới nhất.

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

Sau đây là hướng dẫn cài đặt Apacha Tomcat cực dễ dàng, chỉ cần làm theo những bước hướng dẫn dưới đây chắc chắn bạn sẽ thành công.

Bước 1: Truy cập vào đường dẫn: https://tomcat.apache.org/ > Vào mục Download > Chọn phiên bản TomCat mong muốn > TomCat X.X “8.0.xx” > Chọn Binary Distributions > Chọn Core > Chọn “zip” package.

Trong đó: X.X trong đường dẫn trên chính là các phiên bản của Tomcat, bạn có thể cân nhắc chọn những phiên bản ra mắt trước đó bởi vì chúng ổn định và ít bugs hơn.

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

Bước 2: Cài đặt Tomcat.

Sau khi tải xuống Apache Tomcat > Giải nén tập tin và cài đặt nó vào ổ C:// (Vì source được xây dựng mặc định cho ổ C).

Bước 3: Khởi động Tomcat.

Tiếp theo, ta cần khởi động Tomcat bằng cách đến thư mục bin trong d:myproject tomcat > Sau đó, chạy file startup.bat. Nếu không thấy lỗi nào xảy ra thì bạn đã cài đặt thành công. 

Bước 4: Cấu hình Tomcat.

File cấu hình của Tomcat được lưu trữ tại thư mục conf, tại đây sẽ bao gồm 4 file phục vụ cho việc cấu hình: 

  • xml: Gồm cấu hình cổng mặc định của TCP, cấu hình trong Tomcat là 8080. Bạn có thể thay đổi thông số này từ 1024 đến 65535.
  • web.xml.
  • context.xml.
  • tomcat-users.xml: Nó được sử dụng trong việc kích hoạt các tính năng quản lý của Tomcat.

Để hoàn tất quá trình cấu hình, ta có thể tiến hành tắt Tomcat rồi khởi động nó lại bằng cách chạy 2 file sau: shutdown.batstartup.bat.

Hướng dẫn cài đặt Apache Tomcat tại máy chủ Ubuntu

Sau đây là hướng dẫn cài đặt Apache Tomcat trên các máy chủ: Ubuntu 16.04 LTS, Ubuntu 17.10 và Ubuntu 18.04 LTS. Mời bạn cùng tiếp tục theo dõi.

Bước 1: Cài đặt Java

Bước đầu tiên, ta cần kiểm tra package Java Development Kit (Open JDK) đã được cài đặt chưa? Để kiếm tra ta nhập command sau:

sudo apt list --installed | grep jdk

Nếu Open JDK đã được cài đặt, màn hình sẽ hiển thị như sau:

Màn hình cài đặt Open JDK
Màn hình cài đặt Open JDK

Nếu thiết bị của bạn chưa được cài đặt Open JDK, sử dụng command sau để cài đặt:

sudo apt-get update
sudo apt-get install default-jdk

Bước 2: Tạo tài khoản cho Tomcat

Vì một số lý do bảo mật, Tomcat cần được thiết lập chạy như một người dùng không có đặc quyền (tức là không phải là root). Để cài đặt ta làm như sau:

# Tạo group "tomcat"
sudo groupadd tomcat
 
# Tạo user "tomcat"
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Với 2 câu lệnh trên, Vietnix đã tạo thành công 1 user là “tomcat”  thuộc group “tomcat”  có thư mục home ở /opt/tomcat  (là vị trí Vietnix thực hiện cài đặt Tomcat). Còn tham số -s /bin/false  bạn có thể hiểu là 1 dạng user mà không ai có thể login vào được.

Bước 3: Cài đặt Apache Tomcat

Truy cập tại đây để cài đặt phiên bản mới nhất của Tomcat:  http://tomcat.apache.org/. Sau đó nhập lần lượt các command sau:

# Chuyển tới thư mục tmp
cd /tmp
 
# Download Apache Tomcat 9
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.zip
 
 
# Giải nén Tomcat 9 và thư mục cài đặt
sudo unzip apache-tomcat-9.0.26.zip -d /opt/tomcat

Update lại quyền cho thư mục cài đặt Apache Tomcat

# Chuyển đến thư mục /opt/tomcat
cd /opt/tomcat
mv apache-tomcat-9.0.26/* .
 
# Cấp quyền sở hữu thư mục cài đặt cho group "tomcat"
sudo chgrp -R tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
sudo chown tomcat:tomcat -R /opt/tomcat
 
# Cấp quyền đọc và thực thi cho thư mục conf
sudo chmod -R g+r conf
sudo chmod g+x conf
 
# Cấp quyền sở hữu cho user "tomcat"
mkdir -p webapps/work/temp/logs/
sudo chown -R tomcat webapps/work/temp/logs/

Bước 4: Thiết lập chạy Tomcat

Tạo mới file /etc/systemd/system/tomcat.service có nội dung như sau:

[Unit]
 Description=Tomcat 9 servlet container
 After=network.target
 [Service]
 Type=forking
 User=tomcat
 Group=tomcat
 Environment="JAVA_HOME=/usr/lib/jvm/default-java"
 Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
 Environment="CATALINA_BASE=/opt/tomcat"
 Environment="CATALINA_HOME=/opt/tomcat"
 Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
 Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
 ExecStart=/opt/tomcat/bin/startup.sh
 ExecStop=/opt/tomcat/bin/shutdown.sh
 [Install]
 WantedBy=multi-user.target

Tiếp theo, thực hiện reload lại Systemd Daemon, để Systemd nhận dạng được dịch vụ bạn vừa tạo.

Banner Hosting Giá Rẻ dành cho cá nhân

sudo systemctl daemon-reload

Nhập command sau để khởi động Apache Tomcat:

sudo systemctl start tomcat

Tiếp theo cần kiểm tra Apache Tomcat đã được bật hay chưa bằng command:

sudo systemctl status tomcat

Bước 5: Kiểm tra hoạt động.

Kiểm tra hoạt động của Apache Tomcat bằng cách nhập tên miền máy chủ hoặc địa chỉ IP theo cổng 8080 trong trình duyệt của bạn: https://localhost:8080

Hướng dẫn cài đặt Command-line

Vào trình command-line, nhập gunzip apache-tomcat-9.0.19.tar.gz, sau đó là tar -xf apache-tomcat-9.0.19.tar. Sau đó, các thư mục sau sẽ được tạo ra:

  • /bin: Chứa script để thực thi Tomcat.
  • /webapps: Vị trí để triển khai các ứng dụng.
  • /logs: Nơi xuất các bản ghi của Tomcat. Cần lưu ý rằng các bản ghi của Tomcat đi thẳng vào /logs/catalina.out theo mặc định. File này có thể được sử dụng để debug sự cố với File bản ghi riêng của ứng dụng.
  • /lib: Nơi Tomcat tìm kiếm các JAR. Đây cũng là nơi lưu trữ các gói bổ sung không có trong Tomcat, như JPA.
  • /conf: Là cấu hình XML cho Tomcat. Đây còn là nơi thực hiện các thao tác liên quan đến thêm người dùng hoặc vai trò cho Tomcat.

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

Bước 1: Đăng nhập root, đầu tiên bạn đăng nhập vào CentOS 7 thông qua SSH.

ssh root @ IP _Address

Kiểm tra các gói đã được cập nhật

yum -y update

Bước 2: Cài đặt Java 8, tại vì Apache Tomcat 9 sẽ yêu cầu phiên bản Java 8 hoặc mới hơn. Chạy lệnh sau để cài đặt Java 8 trên CentOS 7.

yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

Sau khi cài đặt Java 8 hoàn tất và bạn có thể kiểm tra phiên bản vừa mới cài đặt với lệnh sau:

java -version

Và kết quả:

openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

Bước 3: Bắt đầu cài đặt Tomcat 9

Truy cập đường dẫn: https://tomcat.apache.org/ và tải phiên bản mới nhất cho máy chủ của bạn.

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.zip

Sau đó, giải nén file zip đã được tải xuống, với lệnh:

unzip apache-tomcat-9.0.26.zip -d /opt

Sau khi đã giải nến, sẽ có một thư mục mới được tạo VD ở đây là apache-tomcat-9.0.26.zip. Và bạn nên kiểm tra và nhớ tên thư mục này.

cd /opt
mv apache-tomcat-9.0.26/ tomcat

Tiếp theo, bạn chạy lệnh sau:

echo "export CATALINA_HOME='/opt/tomcat/'" >> ~/.bashrc
source ~/.bashrc

Phân quyền cho folder script

sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Thay đổi quyền sở hữu cho các file Tomcat

chown -R tomcat:tomcat /opt/tomcat/

Tạo tệp systemd

vi /etc/systemd/system/tomcat.service

[Service]
 Type=forking
 User=tomcat
 Group=tomcat
 Environment="JAVA_HOME=/usr/lib/jvm/jre"
 Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
 Environment="CATALINA_BASE=/opt/tomcat"
 Environment="CATALINA_HOME=/opt/tomcat"
 Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
 Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
 ExecStart=/opt/tomcat/bin/startup.sh
 ExecStop=/opt/tomcat/bin/shutdown.sh
 [Install]
 WantedBy=multi-user.target

Lưu và chạy lại lệnh để tải cấu hình systemd

systemctl daemon-reload

Triển khai ứng dụng trong Tomcat

Thư mục ứng dụng web của Apache Tomcat sẽ là nơi triển khai các ứng dụng. Bạn có thể tạo .war và khởi động nó. File WAR. là một gói tiêu chuẩn cho tài nguyên ứng dụng web. File JAR với một số File bổ sung cho vùng chứa (Tomcat) biết cách để chạy nó.

Ngoài cách đóng gói tiêu chuẩn, còn có ba cách khác để có thể triển khai nội dung:

Exploded deploy

Một ứng dụng web “nổ” là một ứng dụng không được nén vào File WAR. Nghĩa là, nó vẫn chứa mọi yếu tố nằm ở các thư mục và File. File lưu trữ Tomcat bạn đã giải nén được chuyển với một số ví dụ được triển khai theo cách này. Chúng có thể được tìm thấy trong thư mục “/webapps/examples”. Lợi ích của exploded deploy là khả năng tìm kiếm các File mà không cần quan tâm đến việc giải nén.

Khi truy cập đến “http://localhost:8080/examples/“, sẽ xuất hiện rất nhiều liên kết ở đây. Trang này được render bởi Tomcat từ File “/webapps/examples/index.html”. Khi đó Tomcat đang cung cấp File HTML từ hệ thống File. Đây là một ví dụ của của công cụ Coyote, hoạt động như một máy chủ web.

Có rất nhiều ví dụ có sẵn để khám phá, giúp có cái nhìn tổng quan hơn về khả năng của Tomcat trong việc phục vụ các servlet, JSP cũng như WebSocket.

Bên cạnh đó, Apache Tomcat cũng bao gồm một ứng dụng quản lý theo mặc định. Nó có thể được tìm thấy ở đường dẫn /manager. Ngoài những thứ khác, ứng dụng này cho phép bắt đầu, dừng và triển khai lại ứng dụng từ bảng điều khiển web.

Cung cấp nội dung tĩnh

Việc cung cấp các File từ File hệ thống , hoặc chuyển tiếp từ Tomcat đến máy chủ HTTP khác như Apache là hoàn toàn có thể. Một thiết lập phổ biến khác là đặt một máy chủ như Apache, Nginx trước Tomcat. Sau đó, chuyển tiếp các yêu cầu API vào trong Tomcat. Đối với trường hợp này, thư viện mod_JK được sử dụng để cấu hình Tomcat và Apache, hoặc thậm chí là một máy chủ web khác như IIS, để giao tiếp.

Nhúng Tomcat

Trong suốt một thời gian dài, Jetty từng là máy chủ duy nhất có thể chạy như một máy chủ nhúng. Tuy nhiên, giờ đây Tomcat cũng có thể làm điều đó. Ý tưởng chung là, thay vì máy chủ chứa các File ứng dụng, sẽ có một ứng dụng có main class (hay một ứng dụng Java độc lập). Nó sẽ gọi các server capabilities từ bên trong code base của nó. Nhìn chung, việc này cung cấp một mô hình phát triển đơn giản, di dộng hơn. Do đó, nó nhanh chóng trở thành một tiêu chuẩn thực sự.

Việc sử dụng một máy chủ nhúng có thể mang lại sự đơn giản thuần túy về mặt hoạt động. Sở dĩ vì bạn chỉ xử lý một thành phần (ứng dụng) duy nhất, thay vì giải quyết cả ứng dụng lẫn việc triển khai máy chủ. Mặt khác, việc thiết lập Tomcat chạy như một máy chủ độc lập vẫn khá phổ biến.

TomEE

Chúng tôi đã đề cập đến TomEE như ở trên – một phiên bản mở rộng của Tomcat. Việc thêm thư viện của Java EE (Jakarta EE) vào Tomcat hoặc các ứng dụng phụ thuộc khác có thể khai thác tốt hơn khả năng của chúng. Tuy nhiên, một lựa chọn đơn giản hơn là máy chủ TomEE. TomEE là công cụ Tomcat với hỗ trợ bổ sung dành cho doanh nghiệp Java. Bao gồm cả các API phổ biến của JPA hay CDI. Thông số kỹ thuật của TomEE dựa trên cấu hình web Java EE. Do đó, khả năng của nó được mở rộng so với Tomcat. Tuy vậy, nó vẫn chưa thể là một máy chủ ứng dụng Java EE toàn diện như WildFly hay Glassfish.

Những câu hỏi thường gặp về Apache Tomcat

Sự khác biệt giữa Apache Tomcat và Apache HTTP Server là gì?

Sự khác biệt cơ bản là Apache Tomcat cung cấp nội dung động bằng cách sử dụng logic dựa trên Java, trong khi mục đích chính của Apache HTTP Server là chỉ cung cấp nội dung tĩnh như HTML, hình ảnh , âm thanh và văn bản.

Hosting Cao Cấp dành cho Web Developer

Tomcat có phải là một máy chủ HTTP không?

Câu trả lời là có. Apache Tomcat là một vùng chứa web, nó cho phép người dùng chạy các Trang Máy chủ Servlet và JAVA dựa trên các ứng dụng web. Nó có thể được sử dụng làm máy chủ HTTP

Tại sao cần có Tomcat?

Nhiều ứng dụng chỉ yêu cầu các tính năng mà Tomcat cung cấp, vì vậy không có ý nghĩa gì khi sử dụng các công cụ nặng hơn. Bạn có thể sử dụng Apache Tomcat cho các ứng dụng sản xuất yêu cầu hàng nghìn tính năng khác nhau. Tomcat là sự lựa chọn tuyệt vời trong những trường hợp này.

Kết luận

Bài viết đã khái quát về Apache Tomcat là gì cũng như cách để cài đặt và triển khai nó. Đến nay, vẫn không ngừng hoàn thiện chính mình để thích nghi với những thay đổi, cung cấp một nền tảng vững chắc và đáng tin cậy để triển khai các ứng dụng web. Java liên tục lựa chọn Tomcat làm nền tảng cho nhiều hệ thống PaaS, cùng với sự phổ biến ngày càng rộng rãi. Chỉ cần như vậy cũng đã đủ chứng minh cho sự thành công vững mạnh của Tomcat.





Thiết kế website

Rate this post

Bình luận