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. Ban đầu được Sun Microsystem tạo ra, sau đó tặng cơ sở mã cho Apache Software Foundation và phân phối theo Giấy phép Apache v2. Apache Tomcat cung cấp một môi trường máy chủ HTTP "thuần Java" trong đó mã Java có thể chạy. Nó cũng là một triển khai của các công nghệ JavaServer Pages, Java Expression Language và WebSocket.
Apache Tomcat là một trong những triển khai Java Servlet phổ biến nhất. Nó hỗ trợ SSL để bảo mật dữ liệu nhạy cảm như xác thực. Ngoài ra, nó nhẹ về tài nguyên máy chủ và đa nền tảng, có thể được cài đặt trên các hệ điều hành giống Unix, Windows và macOS.
Trong hướng dẫn sau, chúng tôi sẽ chỉ cho bạn cách cài đặt Apache Tomcat với Nginx làm proxy ngược trên máy chủ AlmaLinux 9. Bạn sẽ cài đặt Apache Tomcat thông qua gói nhị phân, sau đó cài đặt Nginx và thiết lập cấu hình khối máy chủ cho proxy ngược.
Để cài đặt OpenJDK 17, hãy chạy lệnh dnf bên dưới. Khi được yêu cầu xác nhận, hãy nhập y và nhấn ENTER.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22232%22%3E%3C/svg%3E
Sau khi Java OpenJDK được cài đặt, hãy chạy lệnh java bên dưới để xác minh OpenJDK của bạn phiên bản.
Bạn có thể thấy bên dưới rằng Java OpenJDK 17 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22116%22%3E%3C/svg%3E
Để bắt đầu, hãy chạy lệnh bên dưới để tạo người dùng hệ thống mới tomcat với thư mục home mặc định /opt/tomcat.
Bây giờ hãy tải xuống gói nhị phân Apache Tomcat bằng lệnh wget bên dưới. Tại thời điểm viết bài này, Apache Tomcat mới nhất là phiên bản 10.1.18. Vì vậy, hãy đảm bảo thay đổi biến VERSION bằng phiên bản Tomcat hiện tại của bạn.
Sau khi quá trình tải xuống hoàn tất, hãy tạo một thư mục gốc mới cho người dùng tomcat /opt/tomcat và giải nén gói nhị phân Apache Tomcat của bạn vào đó.
Cuối cùng, hãy chạy lệnh bên dưới để tạo liên kết tượng trưng của thư mục Tomcat tới /opt/tomcat/mới nhất. Sau đó, thay đổi quyền sở hữu của người dùng thư mục /opt/tomcat 'tomcat'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22178%22%3E%3C/svg%3E
Tạo tệp dịch vụ systemd mới /etc/systemd/system/tomcat10.service bằng lệnh trình chỉnh sửa nano sau.
Chèn cấu hình sau làm tập lệnh dịch vụ systemd của Apache Tomcat. Trong tham số CATALINA_OPTS, hãy đảm bảo điều chỉnh bộ nhớ heap tối đa cho Apache Tomcat.
Lưu tệp và thoát khỏi trình chỉnh sửa sau khi bạn hoàn tất.
Bây giờ hãy chạy lệnh sau để tải lại trình quản lý systemd và áp dụng dịch vụ tomcat10 mới của bạn.
Bây giờ bạn có thể khởi động và kích hoạt dịch vụ Apache Tomcat tomat10 bằng cách sử dụng lệnh sau lệnh.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22166%22%3E%3C/svg%3E
Sau khi bắt đầu, hãy chạy lệnh bên dưới để xác minh dịch vụ tomcat10. Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy dịch vụ tomcat10 đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Khi Apache Tomcat đang chạy, hãy thực hiện lệnh firewall-cmd bên dưới để mở cổng 8080 được Apache sử dụng Tomcat.
Cuối cùng, hãy khởi chạy trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ theo sau là cổng 8080 (http://192.168.5.50:8080). Nếu cài đặt Apache Tomcat thành công, bạn sẽ nhận được trang chỉ mục mặc định như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22552%22%3E%3C/svg%3E
Đầu tiên, hãy chạy lệnh nano editor bên dưới để mở tệp /opt/tomcat/latest/conf/tomcat-users.xml.
Thêm cấu hình sau vào phần '<tomcat-users> ... </tomcat-users>'. Và hãy nhớ thay đổi tên người dùng mặc định là admin và mật khẩu tomcatadmin bằng thông tin đăng nhập mới.
Lưu và thoát tệp khi bạn hoàn tất.
Bây giờ hãy mở cấu hình cho Apache Tomcat Manager và Host Manager bằng lệnh nano editor bên dưới.
Gửi bình luận '<!-- ... -->' trên 'className="org.apache.catalina.valves.RemoteAddrValve"' để cho phép truy cập vào cả Apache Tomcat Manager và Host Manager từ mọi nơi. Xem cấu hình bên dưới.
(Tùy chọn) Bạn cũng có thể chỉ định địa chỉ IP cho phép bạn truy cập Tomcat Manager và Host Manager bằng cách thêm địa chỉ IP của bạn như sau:
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Khi mọi thứ đã hoàn tất, bây giờ bạn có thể khởi động lại dịch vụ tomcat10 sử dụng lệnh bên dưới để có hiệu lực. Sau khi thực hiện, Apache Tomcat Manager và Host Manager của bạn sẽ chạy với xác thực mật khẩu.
Quay lại trình duyệt của bạn và truy cập URL Apache Tomcat Manager tại http://192.168.5.50:8080/manager/. Khi được nhắc nhập mật khẩu xác thực cơ bản, hãy nhập tên người dùng và mật khẩu quản trị Apache Tomcat của bạn, sau đó nhấp vào Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22294%22%3E%3C/svg%3E
Nếu bạn có tên người dùng và mật khẩu quản trị chính xác, bạn sẽ thấy bảng điều khiển Apache Tomcat Manager như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22522%22%3E%3C/svg%3E
Cuối cùng, hãy truy cập URL Apache Tomcat Host Manager qua http://192.168.5.50:8080/host-manager/và đăng nhập bằng tên người dùng và mật khẩu quản trị Tomcat khi được nhắc xác thực. Bạn sẽ thấy bảng điều khiển Host Manager như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22543%22%3E%3C/svg%3E
Để cài đặt Nginx trên máy chủ AlmaLinux của bạn, hãy chạy lệnh dnf bên dưới. Nhập Y để xác nhận và tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Sau khi Nginx được cài đặt, hãy tạo cấu hình khối máy chủ mới /etc/nginx/conf.d/tomcat.conf bằng trình chỉnh sửa nano lệnh.
Thêm khối máy chủ sau để thiết lập Nginx làm proxy ngược cho Apache Tomcat chạy trên cổng 8080.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh bên dưới để xác minh cấu hình Nginx của bạn và đảm bảo rằng bạn đã cú pháp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22621%22%20height=%22148%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh systemctl bên dưới để khởi động và kích hoạt Nginx web máy chủ.
Khi Nginx khởi động, hãy chạy lệnh sau để xác minh dịch vụ Nginx. Nếu đang chạy, bạn sẽ thấy đầu ra đang hoạt động (đang chạy).
Bạn có thể thấy Nginx được bật và đang chạy trên máy chủ AlmaLinux của bạn bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22261%22%3E%3C/svg%3E
Chạy lệnh sau để mở dịch vụ HTTP và tải lại firewalld trong dịch vụ AlmaLinux của bạn.
Bây giờ hãy xác minh danh sách các quy tắc firewalld bằng lệnh bên dưới.
Hãy đảm bảo rằng dịch vụ HTTP cho máy chủ web Nginx là đã bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22664%22%20height=%22276%22%3E%3C/svg%3E
Bây giờ hãy quay lại trình duyệt web của bạn và truy cập tên miền cục bộ của khối máy chủ Nginx, chẳng hạn như http://tomcat.howtoforge.local/. Nếu cấu hình proxy ngược Nginx của bạn thành công, 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=%22325%22%3E%3C/svg%3E
Bây giờ hãy điều hướng đến URL Trình quản lý Tomcat qua http://tomcat.howtoforge.local/manager. Khi được nhắc xác thực, hãy nhập tên người dùng và mật khẩu Apache Tomcat của bạn, sau đó nhấp vào Đăng nhập.
Nếu bạn có tên người dùng và mật khẩu đúng, bạn sẽ thấy bảng điều khiển Apache Tomcat Manager như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Cuối cùng, hãy điều hướng đến URL Apache Tomcat Host Manager http://tomcat.howtoforge.local/host-manager/ và bạn sẽ thấy bảng điều khiển Apache Tomcat Host Manager như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22372%22%3E%3C/svg%3E
Apache Tomcat là một trong những triển khai Java Servlet phổ biến nhất. Nó hỗ trợ SSL để bảo mật dữ liệu nhạy cảm như xác thực. Ngoài ra, nó nhẹ về tài nguyên máy chủ và đa nền tảng, có thể được cài đặt trên các hệ điều hành giống Unix, Windows và macOS.
Trong hướng dẫn sau, chúng tôi sẽ chỉ cho bạn cách cài đặt Apache Tomcat với Nginx làm proxy ngược trên máy chủ AlmaLinux 9. Bạn sẽ cài đặt Apache Tomcat thông qua gói nhị phân, sau đó cài đặt Nginx và thiết lập cấu hình khối máy chủ cho proxy ngược.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:- Máy chủ AlmaLinux 9.
- Người dùng không phải root có quyền quản trị viên.
Cài đặt Java OpenJDK
Trước khi cài đặt Tomcat, bạn phải cài đặt Java JDK vào máy chủ AlmaLinux của mình. Đối với Apache Tomcat, bạn có thể sử dụng Java JDK 11 trở lên. Trong ví dụ này, chúng tôi sẽ sử dụng Java OpenJDK 17, có sẵn theo mặc định trên kho lưu trữ AlmaLinux 9.Để cài đặt OpenJDK 17, hãy chạy lệnh dnf bên dưới. Khi được yêu cầu xác nhận, hãy nhập y và nhấn ENTER.
Mã:
sudo dnf install java-17-openjdk java-17-openjdk-devel
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22232%22%3E%3C/svg%3E
Sau khi Java OpenJDK được cài đặt, hãy chạy lệnh java bên dưới để xác minh OpenJDK của bạn phiên bản.
Mã:
java --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22116%22%3E%3C/svg%3E
Tải xuống Apache Tomcat 10
Sau khi cài đặt Java OpenJDK, bạn sẽ tải xuống và cài đặt Apache Tomcat thủ công qua gói nhị phân. Vì vậy, trước khi bắt đầu cài đặt, hãy truy cập trang Tải xuống Apache Tomcat và lấy liên kết tải xuống.Để bắt đầu, hãy chạy lệnh bên dưới để tạo người dùng hệ thống mới tomcat với thư mục home mặc định /opt/tomcat.
Mã:
sudo groupadd tomcat
sudo adduser -r -s /usr/sbin/nologin -g tomcat -b /opt/tomcat tomcat
Mã:
export VERSION=10.1.18
wget https://dlcdn.apache.org/tomcat/tomcat-10/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz
Mã:
mkdir -p /opt/tomcat
sudo tar -xf apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat
Mã:
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
sudo chown -R tomcat:tomcat /opt/tomcat
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22178%22%3E%3C/svg%3E
Thiết lập Apache Tomcat thành Dịch vụ
Sau khi cài đặt Apache Tomcat, bước tiếp theo là thiết lập dịch vụ systemd mới cho Apache Tomcat. Theo cách này, bạn có thể dễ dàng quản lý Apache Tomcat thông qua tiện ích systemctl. Ngoài ra, điều này sẽ đảm bảo rằng bạn khởi chạy tập lệnh cho Tomcat ở một/một nơi duy nhất.Tạo tệp dịch vụ systemd mới /etc/systemd/system/tomcat10.service bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/systemd/system/tomcat10.service
Mã:
[Unit]
Description=Tomcat 10 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/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 -Xmx2048M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Bây giờ hãy chạy lệnh sau để tải lại trình quản lý systemd và áp dụng dịch vụ tomcat10 mới của bạn.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl enable tomcat10
sudo systemctl start tomcat10
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22166%22%3E%3C/svg%3E
Sau khi bắt đầu, hãy chạy lệnh bên dưới để xác minh dịch vụ tomcat10. Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy dịch vụ tomcat10 đang chạy.
Mã:
sudo systemctl status tomcat10
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Khi Apache Tomcat đang chạy, hãy thực hiện lệnh firewall-cmd bên dưới để mở cổng 8080 được Apache sử dụng Tomcat.
Mã:
sudo firewall-cmd --add-port=8080/tcp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22552%22%3E%3C/svg%3E
Thiết lập xác thực trong Apache Tomcat 10
Lúc này, bạn đã cài đặt Apache Tomcat và hiện đang chạy. Trong phần này, bạn sẽ khám phá cách thiết lập và bật xác thực mật khẩu trên Apache Tomcat.Đầu tiên, hãy chạy lệnh nano editor bên dưới để mở tệp /opt/tomcat/latest/conf/tomcat-users.xml.
Mã:
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
Mã:
Bây giờ hãy mở cấu hình cho Apache Tomcat Manager và Host Manager bằng lệnh nano editor bên dưới.
Mã:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml
Mã:
Mã:
Khi mọi thứ đã hoàn tất, bây giờ bạn có thể khởi động lại dịch vụ tomcat10 sử dụng lệnh bên dưới để có hiệu lực. Sau khi thực hiện, Apache Tomcat Manager và Host Manager của bạn sẽ chạy với xác thực mật khẩu.
Mã:
sudo systemctl restart tomcat10
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22294%22%3E%3C/svg%3E
Nếu bạn có tên người dùng và mật khẩu quản trị chính xác, bạn sẽ thấy bảng điều khiển Apache Tomcat Manager như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22522%22%3E%3C/svg%3E
Cuối cùng, hãy truy cập URL Apache Tomcat Host Manager qua http://192.168.5.50:8080/host-manager/và đăng nhập bằng tên người dùng và mật khẩu quản trị Tomcat khi được nhắc xác thực. Bạn sẽ thấy bảng điều khiển Host Manager như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22543%22%3E%3C/svg%3E
Thiết lập Nginx làm Proxy ngược
Lúc này, bạn đã hoàn tất cài đặt Apache Tomcat. Bước tiếp theo bạn sẽ thực hiện là cài đặt và cấu hình Nginx làm proxy ngược cho Apache Tomcat.Để cài đặt Nginx trên máy chủ AlmaLinux của bạn, hãy chạy lệnh dnf bên dưới. Nhập Y để xác nhận và tiếp tục cài đặt.
Mã:
sudo dnf install nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Sau khi Nginx được cài đặt, hãy tạo cấu hình khối máy chủ mới /etc/nginx/conf.d/tomcat.conf bằng trình chỉnh sửa nano lệnh.
Mã:
sudo nano /etc/nginx/conf.d/tomcat.conf
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/;
}
}
Bây giờ hãy chạy lệnh bên dưới để xác minh cấu hình Nginx của bạn và đảm bảo rằng bạn đã cú pháp.
Mã:
sudo nginx -t
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22621%22%20height=%22148%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh systemctl bên dưới để khởi động và kích hoạt Nginx web máy chủ.
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx
Mã:
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22261%22%3E%3C/svg%3E
Cấu hình Firewalld
Với Apache Tomcat đang chạy dưới Nginx, bạn phải mở cổng HTTP 0 trên cấu hình firewalld của bạn.Chạy lệnh sau để mở dịch vụ HTTP và tải lại firewalld trong dịch vụ AlmaLinux của bạn.
Mã:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
Mã:
sudo firewall-cmd --list-all
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22664%22%20height=%22276%22%3E%3C/svg%3E
Bây giờ hãy quay lại trình duyệt web của bạn và truy cập tên miền cục bộ của khối máy chủ Nginx, chẳng hạn như http://tomcat.howtoforge.local/. Nếu cấu hình proxy ngược Nginx của bạn thành công, 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=%22325%22%3E%3C/svg%3E
Bây giờ hãy điều hướng đến URL Trình quản lý Tomcat qua http://tomcat.howtoforge.local/manager. Khi được nhắc xác thực, hãy nhập tên người dùng và mật khẩu Apache Tomcat của bạn, sau đó nhấp vào Đăng nhập.
Nếu bạn có tên người dùng và mật khẩu đúng, bạn sẽ thấy bảng điều khiển Apache Tomcat Manager như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Cuối cùng, hãy điều hướng đến URL Apache Tomcat Host Manager http://tomcat.howtoforge.local/host-manager/ và bạn sẽ thấy bảng điều khiển Apache Tomcat Host Manager như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22372%22%3E%3C/svg%3E