Cách cài đặt và cấu hình WildFly (JBoss) trên Debian 11

theanh

Administrator
Nhân viên
Wildfly là một máy chủ ứng dụng được viết bằng Java và được phát triển bởi RedHat. Đây là một máy chủ đơn giản, nhẹ và mạnh mẽ với CLI và bảng điều khiển quản trị. Đây là mã nguồn mở, đa nền tảng và dựa trên các hệ thống con có thể cắm thêm hoặc xóa khi cần. Nó cung cấp tất cả các tính năng cần thiết để chạy ứng dụng web Java.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Wildfly với Nginx làm proxy ngược trên Debian 11.

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

  • Một máy chủ chạy Debian 11.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt Java JDK​

Wildfly là một ứng dụng dựa trên Java nên Java phải được cài đặt trên máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install default-jdk -y
Sau khi Java được cài đặt, bạn có thể xác minh bằng lệnh sau:
Mã:
java --version
Bạn sẽ thấy phiên bản Java trong đầu ra sau:
Mã:
openjdk 11.0.12 2021-07-20Môi trường thời gian chạy OpenJDK (bản dựng 11.0.12+7-post-Debian-2deb10u1)OpenJDK Máy ảo máy chủ 64-Bit (bản dựng 11.0.12+7-post-Debian-2deb10u1, chế độ hỗn hợp, chia sẻ)

Cài đặt Wildfly​

Trước tiên, tạo người dùng và nhóm để chạy ứng dụng Wildfly bằng lệnh sau:
Mã:
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Tiếp theo, tải xuống phiên bản Wildfly mới nhất bằng lệnh wget:
Mã:
wget https://github.com/wildfly/wildfly/releases/download/25.0.1.Final/wildfly-25.0.1.Final.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
unzip wildfly-25.0.1.Final.zip
Tiếp theo, di chuyển thư mục đã giải nén đến /opt bằng lệnh sau:
Mã:
mv wildfly-25.0.1.Final /opt/wildfly
Tiếp theo, thay đổi quyền sở hữu của thư mục /opt/wildfly:
Mã:
chown -RH wildfly:wildfly /opt/wildfly
Tiếp theo, tạo thư mục cấu hình Wildfly bên trong /etc bằng lệnh sau:
Mã:
mkdir -p /etc/wildfly
Tiếp theo, sao chép tất cả các tệp cần thiết từ thư mục Wildfly đến thư mục /etc/wildfly:
Mã:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Tiếp theo, đặt quyền thực thi cho tất cả các tệp tập lệnh shell:
Mã:
chmod +x /opt/wildfly/bin/*.sh
Tiếp theo, tải lại daemon systemd bằng lệnh sau:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động và kích hoạt dịch vụ Wildfly bằng lệnh sau:
Mã:
systemctl start wildfly
systemctl enable wildfly
Để kiểm tra trạng thái dịch vụ Wildfly, hãy chạy lệnh sau:
Mã:
systemctl status wildfly
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? wildfly.service - Máy chủ ứng dụng WildFly Đã tải: đã tải (/etc/systemd/system/wildfly.service; vô hiệu hóa; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-12-10 14:55:07 UTC; 6 giây trước PID chính: 20928 (launch.sh) Nhiệm vụ: 59 (giới hạn: 4701) Bộ nhớ: 171,6M CGroup: /system.slice/wildfly.service ??20928 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ??20929 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ??21022 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru10 tháng 12 14:55:07 debian11 systemd[1]: Đã khởi động Máy chủ ứng dụng WildFly.

Bật Wildfly Admin Console​

Theo mặc định, Wildfly admin console bị vô hiệu hóa. Bạn nên bật nó để quản lý ứng dụng Wildfly.

Bạn có thể bật nó bằng cách chỉnh sửa tệp cấu hình Wildfly:
Mã:
nano /etc/wildfly/wildfly.conf
Thay đổi các dòng sau:
Mã:
WILDFLY_BIND=127.0.0.1WILDFLY_CONSOLE_BIND=127.0.0.1
Lưu và đóng tệp, sau đó chỉnh sửa tập lệnh khởi chạy Wildfly và bật bảng điều khiển quản trị.
Mã:
nano /opt/wildfly/bin/launch.sh
Thay đổi tệp như hiển thị bên dưới:
Mã:
if [[ "$1" == "domain" ]]; sau đó $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4fi
Lưu và đóng tệp sau đó chỉnh sửa tệp systemd Wildfly:
Mã:
nano /etc/systemd/system/wildfly.service
Thay đổi dòng sau:
Mã:
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi cấu hình:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động lại dịch vụ Wildfly để áp dụng các thay đổi:
Mã:
systemctl restart wildfly
Bạn cũng có thể kiểm tra trạng thái của Wildfly bằng lệnh sau:
Mã:
systemctl status wildfly
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? wildfly.service - Máy chủ ứng dụng WildFly Đã tải: đã tải (/etc/systemd/system/wildfly.service; vô hiệu hóa; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-12-10 14:57:22 UTC; 3 giây trước PID chính: 21182 (launch.sh) Nhiệm vụ: 64 (giới hạn: 4701) Bộ nhớ: 205,6M CGroup: /system.slice/wildfly.service ??21182 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 127.0.0.1 127.0.0.1 ??21183 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 127.0.0.1 -bmanagement 127.0.0.1 ??21282 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru10 tháng 12 14:57:22 debian11 systemd[1]: Đã khởi động Máy chủ ứng dụng WildFly.
Tại thời điểm này, Wildfly đã được khởi động và lắng nghe trên các cổng 8080 và 9990. Bạn có thể kiểm tra chúng bằng lệnh sau:
Mã:
ss -plnt
Bạn sẽ nhận được kết quả sau:
Mã:
State Recv-Q Send-Q Địa chỉ cục bộ:Port Peer Địa chỉ:PortLISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=678,fd=3))LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("java",pid=21282,fd=485))LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=21282,fd=487))LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=12461,fd=21))LISTEN 0 128 127.0.0.1:8080 0.0.0.0:* users:(("java",pid=21282,fd=476))LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=678,fd=4))
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo Người dùng Quản trị Wildfly​

Tiếp theo, bạn cũng sẽ cần tạo một người dùng quản trị để truy cập bảng điều khiển quản trị Wildfly. Bạn có thể tạo bằng cách chạy lệnh sau:
Mã:
sh /opt/wildfly/bin/add-user.sh
Bạn sẽ được yêu cầu chọn loại người dùng:
Mã:
Bạn muốn thêm loại người dùng nào? a) Người dùng quản lý (mgmt-users.properties) b) Người dùng ứng dụng (application-users.properties)(a): a
Nhập a và nhấn phím Enter để thêm người dùng quản lý. Bạn sẽ được yêu cầu xác định tên người dùng và mật khẩu như hiển thị bên dưới:
Mã:
Nhập thông tin chi tiết của người dùng mới cần thêm.Sử dụng miền 'ManagementRealm' như đã phát hiện từ các tệp thuộc tính hiện có.Tên người dùng: hiteshCác khuyến nghị về mật khẩu được liệt kê bên dưới. Để sửa đổi các hạn chế này, hãy chỉnh sửa tệp cấu hình add-user.properties. - Mật khẩu phải khác với tên người dùng - Mật khẩu không được là một trong những giá trị bị hạn chế sau {root, admin, administrator} - Mật khẩu phải chứa ít nhất 8 ký tự, 1 ký tự chữ cái, 1 chữ số, 1 ký hiệu không phải chữ và sốMật khẩu:Nhập lại mật khẩu:
Cung cấp tên người dùng, mật khẩu của bạn và nhấn Enter. Bạn sẽ được yêu cầu thêm người dùng vào miền:
Mã:
Bạn muốn người dùng này thuộc nhóm nào? (Vui lòng nhập danh sách phân cách bằng dấu phẩy hoặc để trống nếu không có)[ ]:Sắp thêm người dùng 'hitesh' cho miền 'ManagementRealm'Có đúng không? có
Nhập có và nhấn phím Enter để tiếp tục. Sau khi người dùng được thêm vào, bạn sẽ nhận được kết quả sau:
Mã:
Đã thêm người dùng 'hitesh' vào tệp '/opt/wildfly/standalone/configuration/mgmt-users.properties'Đã thêm người dùng 'hitesh' vào tệp '/opt/wildfly/domain/configuration/mgmt-users.properties'Đã thêm người dùng 'hitesh' với các nhóm vào tệp '/opt/wildfly/standalone/configuration/mgmt-groups.properties'Đã thêm người dùng 'hitesh' với các nhóm vào tệp '/opt/wildfly/domain/configuration/mgmt-groups.properties'Người dùng mới này có được sử dụng cho một quy trình AS để kết nối với một quy trình AS khác không?ví dụ: cho bộ điều khiển máy chủ phụ kết nối với máy chủ chính hoặc cho kết nối Remoting cho các cuộc gọi Jakarta Enterprise Beans từ máy chủ này sang máy chủ khác.có/không? cóĐể biểu diễn người dùng, hãy thêm nội dung sau vào định nghĩa server-identities
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình Nginx làm Proxy ngược​

Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược để truy cập Wildfly qua cổng 80.

Trước tiên, hãy cài đặt gói Nginx bằng lệnh bên dưới:
Mã:
apt-get install nginx -y
Sau khi Nginx được cài đặt, hãy tạo tệp proxy Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/proxy_headers.conf
Thêm các dòng sau:
Mã:
proxy_set_header Host $host;proxy_set_header X-Forwarded-Proto $scheme;add_header Front-End-Https on;add_header Cache-Control no-cache;
Lưu và đóng tệp sau đó tạo tệp cấu hình máy chủ ảo Nginx cho Wildfly:
Mã:
nano /etc/nginx/conf.d/wildfly.conf
Thêm các dòng sau:
Mã:
server { listen 80; server_name wildfly.yourdomain.com; location / { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:8080; } location /management { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/management; } vị trí /console { bao gồm conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/console; } vị trí /logout { bao gồm conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/logout; } vị trí /error { bao gồm conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990; }}
Lưu và đóng tệp, sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ thấy kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Bạn cũng có thể kiểm tra trạng thái Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nhận được kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-12-10 15:12:26 UTC; 9 giây trước Tài liệu: man:nginx(8) Quy trình: 22115 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 22116 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 22117 (nginx) Nhiệm vụ: 3 (giới hạn: 4701) Bộ nhớ: 3,8M CGroup: /system.slice/nginx.service ??22117 nginx: tiến trình chính /usr/sbin/nginx -g daemon bật; master_process bật; ??22118 nginx: tiến trình công nhân ??22119 nginx: tiến trình công nhân10 tháng 12 15:12:25 debian11 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...10 tháng 12 15:12:26 debian11 systemd[1]: Đã khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.
Tại thời điểm này, Nginx đã được cài đặt và cấu hình để phục vụ Wildfly. Bây giờ bạn có thể tiến hành bước tiếp theo.

Truy cập Wildfly Web UI​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập trang ứng dụng Wildfly bằng URL . Bạn sẽ thấy trang mặc định của Wildfly trên màn hình sau:



Để truy cập bảng điều khiển quản trị Wildfly, hãy nhập URL vào trình duyệt web của bạn. Bạn sẽ được yêu cầu cung cấp tên người dùng và mật khẩu quản trị như hiển thị bên dưới:



Cung cấp tên người dùng, mật khẩu quản trị và nhấp vào nút Đăng nhập. Sau khi đăng nhập, bạn sẽ thấy bảng điều khiển quản trị Wildfly:


Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công Wildfly với Nginx làm proxy ngược trên Debian 11. Bây giờ bạn có thể sử dụng Wildfly để lưu trữ ứng dụng Java của mình trên internet. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên