Cách cài đặt Apache Tomcat 10 với Nginx Reverse Proxy trên Debian 12

theanh

Administrator
Nhân viên
Apache Tomcat hay "Tomcat" là một bộ chứa Java Servlet mã nguồn mở và miễn phí cho mã Java và các ứng dụng. Nó cung cấp một môi trường máy chủ HTTP "thuần Java" nơi mã Java có thể chạy. Tomcat cũng triển khai các công nghệ JavaServer Pages, Java Expression Language và WebSocket.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Apache Tomcat 10 trên máy chủ Debian 12. bạn cũng sẽ học cách thiết lập Nginx làm proxy ngược cho Apache Tomcat.

Điều kiện tiên quyết​

Để bắt đầu, hãy đảm bảo bạn có những điều sau:
  • Máy chủ Debian 12.
  • Người dùng không phải root có quyền quản trị viên.

Cài đặt Java OpenJDK​

Apache Tomcat chủ yếu được viết bằng Java, vì vậy trước khi cài đặt, bạn phải cài đặt Java trên hệ thống của mình. Trong ví dụ này, bạn sẽ cài đặt Java OpenJDK 17, có sẵn theo mặc định trên kho lưu trữ Debian.

Trước khi bắt đầu cài đặt Java, hãy cập nhật và làm mới kho lưu trữ Debian của bạn bằng lệnh bên dưới.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22153%22%3E%3C/svg%3E


Bây giờ hãy cài đặt gói Java OpenJDK vào máy chủ Debian của bạn bằng lệnh sau. Gói default-jdk tham chiếu đến Java OpenJDK 17, đây là phiên bản LTS của Java.
Mã:
sudo apt install default-jdk
Nhập y để xác nhận cài đặt.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22352%22%3E%3C/svg%3E


Sau khi cài đặt Java, hãy chạy lệnh bên dưới để xác minh phiên bản Java của bạn. bạn sẽ thấy Java OpenJDK 17 đã được cài đặt.
Mã:
java --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E

Cài đặt Apache Tomcat qua Kho lưu trữ​

Theo mặc định, kho lưu trữ Debian 12 mới nhất cung cấp Apache Tomcat 10. Nếu bạn cần cài đặt Apache Tomcat qua APT, thì phương pháp này phù hợp với bạn.

Đầu tiên, hãy kiểm tra gói tomcat10 bằng lệnh bên dưới.
Mã:
sudo apt info tomcat10
Trong kết quả sau, bạn có thể thấy Apache Tomcat 10 có sẵn trên kho lưu trữ Debian chính, trong phần java.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22507%22%3E%3C/svg%3E


Nếu bạn muốn cài đặt Tomcat thông qua APT, hãy chạy lệnh bên dưới trên hệ thống của bạn. Nhập y để xác nhận cài đặt.
Mã:
sudo apt install tomcat10 tomcat10-common tomcat10-admin tomcat10-user tomcat10-examples

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22254%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, dịch vụ tomcat10 sẽ chạy. Xác minh bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled tomcat10
sudo systemctl status tomcat10
Nếu dịch vụ tomcat10 đang chạy, bạn sẽ nhận được kết quả sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22258%22%3E%3C/svg%3E


Cuối cùng, hãy mở trình duyệt web và truy cập địa chỉ IP của máy chủ với cổng Tomcat mặc định là 8080 http://192.168.5.15:8080/. Nếu cài đặt thành công, bạn sẽ nhận được trang chỉ mục mặc định của Apache Tomcat 10.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22359%22%3E%3C/svg%3E

Cài đặt Tomcat qua Binary​

Bây giờ nếu bạn muốn cài đặt gói mới nhất của Apache Tomcat, bạn có thể cài đặt qua gói nhị phân. Trong phần này, bạn sẽ học cách thực hiện trên máy chủ Debian của mình.

Đầu tiên, hãy tạo một người dùng hệ thống mới tomcat bằng lệnh bên dưới.
Mã:
sudo useradd -m -u -d /opt/tomcat -s /usr/sbin/nologin tomcat
Truy cập trang tải xuống Apache Tomcat và kiểm tra phiên bản Tomcat mới nhất. Sau đó chạy lệnh bên dưới để tải xuống phiên bản Apache Tomcat mới nhất.
Mã:
export VERSION=10.1.19
wget https://www-eu.apache.org/dist/tomcat/tomcat-10/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz
Sau khi tải xuống, hãy chạy lệnh bên dưới để tạo thư mục cài đặt Apache Tomcat mới /opt/tomcat và giải nén gói nhị phân Tomcat vào đó.
Mã:
mkdir -p /opt/tomcat
sudo tar -xf apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat
Bây giờ hãy tạo một liên kết tượng trưng mới của thư mục Tomcat đã giải nén tới /opt/tomcat/latest. Sau đó, thay đổi quyền sở hữu thư mục /opt/tomcat thành người dùng tomcat.
Mã:
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
sudo chown -R tomcat:tomcat /opt/tomcat
Tiếp theo, tạo tệp dịch vụ systemd mới /etc/systemd/system/tomcat.service bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/systemd/system/tomcat.service
Dán cấu hình bên dưới để thiết lập tệp dịch vụ cho Apache Tomcat.
Mã:
[Unit]
Description=Tomcat 10 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/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
Lưu tệp và thoát khỏi trình chỉnh sửa.

Chạy lệnh bên dưới để tải lại trình quản lý systemd, sau đó khởi động và bật tomcat dịch vụ.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start tomcat
sudo systemctl enable tomcat

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E


Sau khi bắt đầu, hãy xác minh dịch vụ tomcat bằng lệnh bên dưới. Đảm bảo rằng dịch vụ Tomcat của bạn đang chạy như sau.
Mã:
sudo systemctl status tomcat

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22222%22%3E%3C/svg%3E


Cuối cùng, hãy mở trình duyệt web của bạn và truy cập http://192.168.5.15:8080/. Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy trang chỉ mục Apache Tomcat.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22338%22%3E%3C/svg%3E

Tạo Quản trị viên Tomcat​

Lúc này, bạn đã cài đặt Apache Tomcat trên máy chủ Debian của mình. Ở bước tiếp theo, bạn sẽ thiết lập xác thực cho Apache Tomcat và kích hoạt trình quản lý Tomcat và trình quản lý máy chủ.

Để bắt đầu, hãy chỉnh sửa tệp cấu hình Tomcat /etc/tomcat10/tomcat-users.xml bằng trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/tomcat10/tomcat-users.xml
Chèn các dòng bên dưới vào giữa phần 'tomcat-users'. Đảm bảo thay đổi tên người dùng mặc định admin và mật khẩu tomcatadmin bằng thông tin đăng nhập của bạn.
Mã:
Lưu và thoát tệp.

Bây giờ, hãy mở tệp cấu hình cho trình quản lý Tomcat và trình quản lý máy chủ bằng trình chỉnh sửa nano.
Mã:
sudo nano /usr/share/tomcat10-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat10-admin/manager/META-INF/context.xml
Bình luận dòng '<Valve className="org.apache.catalina.valves.RemoteAddrValve"' để cho phép truy cập vào trình quản lý Tomcat và trình quản lý máy chủ. Bằng cách thêm '<!-- .. -->', cấu hình sẽ bị vô hiệu hóa hoặc được chú thích.
Mã:
Lưu tệp và thoát khỏi trình chỉnh sửa.

Tiếp theo, khởi động lại dịch vụ tomcat bằng lệnh bên dưới để áp dụng Tomcat mới cấu hình.
Mã:
sudo systemctl restart tomcat
Cuối cùng, hãy truy cập http://192.168.5.15:8080/manager để truy cập trình quản lý Tomcat và http://192.168.5.15:8080/host-manager để truy cập trình quản lý máy chủ Tomcat. Nhập tên người dùng và mật khẩu quản trị viên khi được nhắc và nhấp vào Đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22384%22%3E%3C/svg%3E


Nếu thành công, bạn sẽ thấy bảng điều khiển trình quản lý Apache Tomcat.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22445%22%3E%3C/svg%3E


Đối với trình quản lý máy chủ Tomcat, bên dưới là trông như thế nào:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E

Cấu hình Nginx làm Proxy ngược​

Trong hướng dẫn này, bạn sẽ chạy Apache Tomcat với Nginx làm proxy ngược. Trong phần này, bạn sẽ cài đặt nginx và thiết lập cấu hình khối máy chủ làm proxy ngược cho Tomcat chạy trên cổng 8080.

Chạy lệnh bên dưới để cài đặt Nginx vào hệ thống của bạn. Nhập y để xác nhận cài đặt.
Mã:
sudo apt install nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22328%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy tạo cấu hình khối máy chủ mới /etc/nginx/sites-available/tomcat.conf bằng nano biên tập viên.
Mã:
sudo nano /etc/nginx/sites-available/tomcat.conf
Thêm cấu hình bên dưới để thiết lập Nginx làm proxy ngược cho Apache Tomcat.
Mã:
server {
listen 80;

server_name tomcat.howtoforge.local;
access_log /var/log/nginx/tomcat-access.log;
error_log /var/log/nginx/tomcat-error.log;

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
Lưu và thoát tệp khi hoàn tất.

Bây giờ, hãy kích hoạt cấu hình khối máy chủ và xác minh cú pháp Nginx của bạn. Nếu mọi việc diễn ra tốt đẹp, bạn sẽ nhận được kết quả như sau 'kiểm tra thành công - cú pháp ổn'.
Mã:
sudo ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
sudo nginx -t

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22141%22%3E%3C/svg%3E


Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi mới và xác minh để đảm bảo dịch vụ đang chạy.
Mã:
sudo systemctl restart nginx
sudo systemctl status nginx
Nếu Nginx đang chạy, bạn sẽ nhận được kết quả đầu ra sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E


Cuối cùng, quay lại trình duyệt web của bạn và truy cập http://tomcat.howtoforge.local/. Bạn sẽ thấy trang chỉ mục mặc định của Apache Tomcat.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22322%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt Apache Tomcat 10 trên máy chủ Debian 12. Bạn đã học được hai phương pháp để cài đặt Apache Tomcat, thông qua kho lưu trữ APT và thủ công thông qua gói nhị phân. Cuối cùng, bạn cũng đã học được cách thiết lập Nginx làm proxy ngược cho cài đặt Tomcat của mình.
 
Back
Bên trên