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.
Sau khi Java được cài đặt, bạn có thể xác minh bằng lệnh sau:
Bạn sẽ thấy phiên bản Java trong đầu ra sau:
Tiếp theo, tải xuống phiên bản Wildfly mới nhất bằng lệnh wget:
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:
Tiếp theo, di chuyển thư mục đã giải nén đến /opt bằng lệnh sau:
Tiếp theo, thay đổi quyền sở hữu của thư mục /opt/wildfly:
Tiếp theo, tạo thư mục cấu hình Wildfly bên trong /etc bằng lệnh sau:
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:
Tiếp theo, đặt quyền thực thi cho tất cả các tệp tập lệnh shell:
Tiếp theo, tải lại daemon systemd bằng lệnh sau:
Tiếp theo, khởi động và kích hoạt dịch vụ Wildfly bằng lệnh sau:
Để kiểm tra trạng thái dịch vụ Wildfly, hãy chạy lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Bạn có thể bật nó bằng cách chỉnh sửa tệp cấu hình Wildfly:
Thay đổi các dòng sau:
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ị.
Thay đổi tệp như hiển thị bên dưới:
Lưu và đóng tệp sau đó chỉnh sửa tệp systemd Wildfly:
Thay đổi dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi cấu hình:
Tiếp theo, khởi động lại dịch vụ Wildfly để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái của Wildfly bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
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:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn sẽ được yêu cầu chọn loại người dùng:
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:
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:
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:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy cài đặt gói Nginx bằng lệnh bên dưới:
Sau khi Nginx được cài đặt, hãy tạo tệp proxy Nginx bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp sau đó tạo tệp cấu hình máy chủ ảo Nginx cho Wildfly:
Thêm các dòng sau:
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:
Bạn sẽ thấy kết quả sau:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái Nginx bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
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 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:
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
Mã:
java --version
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
Mã:
wget https://github.com/wildfly/wildfly/releases/download/25.0.1.Final/wildfly-25.0.1.Final.zip
Mã:
unzip wildfly-25.0.1.Final.zip
Mã:
mv wildfly-25.0.1.Final /opt/wildfly
Mã:
chown -RH wildfly:wildfly /opt/wildfly
Mã:
mkdir -p /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/
Mã:
chmod +x /opt/wildfly/bin/*.sh
Mã:
systemctl daemon-reload
Mã:
systemctl start wildfly
systemctl enable wildfly
Mã:
systemctl status wildfly
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
Mã:
WILDFLY_BIND=127.0.0.1WILDFLY_CONSOLE_BIND=127.0.0.1
Mã:
nano /opt/wildfly/bin/launch.sh
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
Mã:
nano /etc/systemd/system/wildfly.service
Mã:
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Mã:
systemctl daemon-reload
Mã:
systemctl restart wildfly
Mã:
systemctl status wildfly
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.
Mã:
ss -plnt
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))
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
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
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:
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ó
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
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
Mã:
nano /etc/nginx/conf.d/proxy_headers.conf
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;
Mã:
nano /etc/nginx/conf.d/wildfly.conf
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; }}
Mã:
nginx -t
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
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
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.
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: