Cách cài đặt WildFly Java Application Server với Nginx trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Wildfly là một ứng dụng runtime đơn giản, nhẹ và linh hoạt được sử dụng để xây dựng các ứng dụng Java. Nó được viết bằng Java và có thể chạy trên các hệ điều hành Linux, macOS và Windows. Đây là một máy chủ ứng dụng doanh nghiệp và đầy đủ tính năng cung cấp tất cả các tính năng cần thiết để chạy ứng dụng web Java.

Tính năng
  • Miễn phí và mã nguồn mở
  • Mô-đun và nhẹ.
  • Tiết kiệm tài nguyên với khả năng quản lý hiệu quả.
  • Tiết kiệm thời gian với khả năng phát triển nhanh hơn.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Wildfly với Nginx làm proxy ngược trên Ubuntu 22.04.

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

  • Một máy chủ chạy Ubuntu 22.04.
  • Một tên miền hợp lệ được trỏ đến 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ập nhật Hệ thống​

Đầu tiên, bạn sẽ cần cập nhật tất cả các gói hệ thống của mình lên phiên bản đã cập nhật. Bạn có thể cập nhật tất cả chúng bằng cách chạy lệnh sau.
Mã:
apt update -y
apt upgrade -y
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt Java JDK​

Wildfly là một ứng dụng dựa trên Java. Vì vậy, bạn sẽ cần cài đặt Java trên máy chủ của mình. Bạn có thể cài đặt Java JDK bằng lệnh sau.
Mã:
apt install default-jdk -y
Sau khi Java được cài đặt, bạn có thể xác minh phiên bản Java bằng lệnh sau.
Mã:
java --version
Bạn sẽ thấy phiên bản Java trong đầu ra.
Mã:
openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)

Tải xuống và cài đặt Wildfly​

Trước khi bắt đầu, bạn sẽ cần tạo một người dùng và nhóm chuyên dụng để chạy Wildfly. Bạn có thể tạo cả hai 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 mới nhất của Wildfly bằng lệnh sau.
Mã:
wget https://github.com/wildfly/wildfly/releases/download/26.1.3.Final/wildfly-26.1.3.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 lệnh.
Mã:
unzip wildfly-26.1.3.Final.zip
Tiếp theo, di chuyển thư mục Wildfly đã giải nén đến thư mục /opt.
Mã:
mv wildfly-26.1.3.Final /opt/wildfly
Tiếp theo, thay đổi quyền sở hữu của thư mục Wildfly bằng cách sử dụng lệnh sau lệnh.
Mã:
chown -RH wildfly: /opt/wildfly
Sau khi hoàn tất, bạn có thể tiến hành cấu hình Wildfly.

Cấu hình Wildfly​

Trước tiên, hãy tạo thư mục cấu hình Wildfly bằng lệnh sau.
Mã:
mkdir -p /etc/wildfly
Tiếp theo, sao chép tệp cấu hình Wildfly vào /etc/wildfly thư mục.
Mã:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Tiếp theo, sao chép tệp dịch vụ Wildfly vào thư mục systemd.
Mã:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Tiếp theo, sao chép tệp Wildfly launch.sh vào /opt/wildfly/bin/ thư mục.
Mã:
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Tiếp theo, đặt quyền thực thi cho tệp tập lệnh.
Mã:
chmod +x /opt/wildfly/bin/*.sh
Sau đó, tải lại daemon systemd để áp dụng thay đổi.
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ wildfly và thêm nó vào hệ thống khởi động.
Mã:
systemctl start wildfly
systemctl enable wildfly
Bây giờ bạn có thể xác minh trạng thái của Wildfly bằng cách sử dụng lệnh sau lệnh.
Mã:
systemctl status wildfly
Bạn sẽ nhận được kết quả sau.
Mã:
? wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2023-02-15 09:34:24 UTC; 4s ago Main PID: 20425 (launch.sh) Tasks: 61 (limit: 4579) Memory: 111.6M CPU: 6.919s CGroup: /system.slice/wildfly.service ??20425 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ??20426 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ??20534 java "-D[Standalone]" -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stac>
Feb 15 09:34:24 ubuntu2204 systemd[1]: Started The WildFly Application Server.
Theo mặc định, Wildfly 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 -antpl | grep -i java
Bạn sẽ thấy đầu ra sau.
Mã:
LISTEN 0 4096 0.0.0.0:8443 0.0.0.0:* users:(("java",pid=20534,fd=498))
LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=20534,fd=497))
LISTEN 0 4096 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=20534,fd=495))

Cấu hình Wildfly Admin Console​

Bởi mặc định, bảng điều khiển quản trị Wildfly bị vô hiệu hóa. Vì vậy, bạn sẽ cần phải bật nó để truy cập Wildfly từ trình duyệt web.

Đầu tiên, hãy chỉnh sửa tệp cấu hình Wildfly bằng lệnh sau.
Mã:
nano /etc/wildfly/wildfly.conf
Thay đổi các dòng sau.
Mã:
WILDFLY_BIND=127.0.0.1
WILDFLY_CONSOLE_BIND=127.0.0.1
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, chỉnh sửa tệp launch.sh bằng lệnh sau.
Mã:
nano /opt/wildfly/bin/launch.sh
Sửa đổi các dòng sau:
Mã:
if [[ "$1" == "domain" ]]; then $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi
Lưu và đóng tệp, sau đó chỉnh sửa dịch vụ Wildfly tập tin.
Mã:
nano /etc/systemd/system/wildfly.service
Sửa đổ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 tin sau đó tải lại daemon systemd để áp dụng thay đổi.
Mã:
systemctl daemon-reload
Bây giờ, hãy khởi động lại dịch vụ Wildfly để triển khai các thay đổi.
Mã:
systemctl restart wildfly

Thêm Người dùng quản trị Wildfly​

Tiếp theo, bạn sẽ cần thêm người dùng quản trị để truy cập bảng điều khiển quản trị Wildfly. Bạn có thể thêm nó bằng lệnh sau.
Mã:
sh /opt/wildfly/bin/add-user.sh
Bạn sẽ được yêu cầu nhập loại người dùng bạn muốn thêm:
Mã:
What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties)
(a): a
Cung cấp thông tin chi tiết về người dùng mới của bạn như được hiển thị bên dưới:
Mã:
Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : wadmin
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password :
Re-enter Password :
Bạn sẽ được hỏi muốn người dùng này thuộc nhóm nào:
Mã:
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
Chỉ cần nhấn phím enter. Bạn sẽ thấy kết quả đầu ra sau.
Mã:
About to add user 'wadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wadmin' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wadmin' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition

Cấu hình Nginx cho Wildfly​

Lúc này, Wildfly đã được cài đặt và cấu hình để chạy trên máy chủ cục bộ. Bây giờ, bạn sẽ cần cấu hình Nginx làm proxy ngược để truy cập giao diện web Wildfly.

Đầu tiên, cài đặt gói Nginx bằng lệnh sau.
Mã:
apt install nginx -y
Tiếp theo, tạo tệp cấu hình proxy_headers.
Mã:
nano /etc/nginx/conf.d/proxy_headers.conf
Thêm nội dung sau cấu hình:
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 mới.
Mã:
nano /etc/nginx/conf.d/wildfly.conf
Thêm các cấu hình sau.
Mã:
server { listen 80; server_name wildfly.example.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; } location /console { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/console; } location /logout { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/logout; } location /error { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990; }
}
Lưu tệp sau đó xác minh Nginx xem có lỗi cấu hình cú pháp nào không.
Mã:
nginx -t
Nếu mọi thứ ổn, bạn sẽ nhận được thông báo sau đầu ra.
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Cuối cùng, khởi động lại dịch vụ Nginx để triển khai các thay đổi.
Mã:
systemctl restart nginx
Bạn có thể xác minh trạng thái của dịch vụ Nginx bằng lệnh sau lệnh.
Mã:
systemctl status nginx
Bạn sẽ thấy kết quả sau.
Mã:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-02-15 09:38:18 UTC; 1s ago Docs: man:nginx(8) Process: 21027 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 21028 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 21029 (nginx) Tasks: 3 (limit: 4579) Memory: 3.4M CPU: 62ms CGroup: /system.slice/nginx.service ??21029 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??21030 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??21031 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Feb 15 09:38:18 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Feb 15 09:38:18 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Truy cập Giao diện Quản trị Wildfly​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện quản trị Wildfly bằng URL Bạn sẽ được yêu cầu cung cấp Thông tin đăng nhập quản trị Wildfly như hiển thị bên dưới:


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


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


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


Bạn cũng có thể truy cập trang mặc định của Wildfly bằng URL Bạn sẽ thấy màn hình sau.


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



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 máy chủ Ubuntu 22.04. Bây giờ bạn có thể bắt đầu xây dựng một ứng dụng tuyệt vời bằng nền tảng Wildfly. 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