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

theanh

Administrator
Nhân viên
WildFly hay trước đây gọi là JBoss AS là một triển khai nhẹ của container JEE (Java Enterprise Edition). Thời gian chạy ứng dụng linh hoạt của nó được viết bằng Java giúp bạn xây dựng các ứng dụng tuyệt vời.

WildFly là thời gian chạy ứng dụng đa nền tảng chạy trên các hệ điều hành Linux, macOS và Windows. Được tạo bởi JBoss Inc và vào năm 2006 đã được RedHat mua lại và trở thành WildFly.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt WildFly trên Ubuntu 20.04 mới nhất. Chúng tôi sẽ cài đặt phiên bản mới nhất của WildFly 20, bật bảng điều khiển quản trị cho WildFly, tạo người dùng quản trị WildFly và thiết lập Nginx làm proxy ngược cho WildFly.

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

Đối với hướng dẫn này, chúng tôi sẽ cài đặt WildFly trên Ubuntu Server 20.04 FocalFossa mới nhất với 2 GB RAM, 50 GB dung lượng đĩa trống và 2 CPU.

Chúng ta sẽ làm gì?
  • Cài đặt Java OpenJDK 11
  • Thêm người dùng mới và tải xuống WildFly
  • Cấu hình cơ bản của WildFly
  • Bật bảng điều khiển quản trị WildFly
  • Thiết lập người dùng quản trị cho WildFly
  • Thiết lập Nginx làm Proxy ngược cho WildFly
  • Kiểm tra

Bước 1 - Cài đặt Java OpenJDK​

Đầu tiên, chúng ta sẽ cài đặt Java OpenJDK trên máy chủ Ubuntu 20.04. Và chúng tôi sẽ sử dụng Java OpenJDK 11 cho cài đặt WildFly của mình, đây là phiên bản mặc định của các gói Java trên kho lưu trữ Ubuntu 20.04.

Cập nhật tất cả các kho lưu trữ gói và cài đặt Java OpenJDK bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt install default-jdk
Sau khi hoàn tất cài đặt, hãy kiểm tra phiên bản Java bằng lệnh sau.
Mã:
java -version
Dưới đây là kết quả bạn sẽ nhận được.
Mã:
openjdk version "11.0.7" 2020-04-14
Môi trường chạy thời gian OpenJDK (bản dựng 11.0.7+10-post-Ubuntu-3ubuntu1)
Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 11.0.7+10-post-Ubuntu-3ubuntu1, chế độ hỗn hợp, chia sẻ)
Kết quả là quá trình cài đặt Java OpenJDK trên Ubuntu 20.04 đã hoàn tất.

Bước 2 - Thêm người dùng mới và tải xuống WildFly​

Trong bước này, chúng ta sẽ tạo một người dùng hệ thống và nhóm mới 'wildfly' và tải xuống mã nguồn của wildfly vào thư mục '/opt/wildfly'.

Bây giờ, hãy tạo một người dùng và nhóm mới có tên 'wildfly' bằng các lệnh bên dưới.
Mã:
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Tiếp theo, hãy đến thư mục '/opt' và tải xuống mã nguồn wildfly bằng lệnh wget như bên dưới.
Mã:
cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz
Mã nguồn wildfly đã được tải xuống.

Bây giờ hãy giải nén mã nguồn wildfly và đổi tên thư mục đã giải nén thành 'wildfly'.
Mã:
tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly
Sau đó, hãy thay đổi quyền sở hữu thư mục 'wildfly' thành người dùng và nhóm 'wildfly'.
Mã:
chown -RH wildfly:wildfly /opt/wildfly
Do đó, thư mục cài đặt wildfly nằm ở thư mục '/opt/wildfly'. Dịch vụ wildfly sẽ chạy dưới người dùng mới có tên 'wildfly' mà chúng ta vừa tạo ở trên cùng.


Bước 3 - Cấu hình cơ bản WildFly​

Sau khi tải xuống mã nguồn wildfly, chúng ta sẽ thiết lập wildfly trên hệ thống Ubuntu.

Tạo thư mục cấu hình mới '/etc/wildfly' và sao chép cấu hình mẫu 'wildfly.conf' vào đó.
Mã:
mkdir -p /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Tiếp theo, sao chép tệp dịch vụ 'wildfly.service' vào thư mục '/etc/systemd/system'.
Mã:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Sau đó, sao chép mẫu tập lệnh khởi chạy wildfly vào thư mục '/opt/wildfly/bin' và thực thi nó.
Mã:
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh
Bây giờ hãy tải lại trình quản lý systemd để áp dụng tệp 'wildfly.service' mới.
Mã:
systemctl daemon-reload
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
Dịch vụ wildfly đang hoạt động trên hệ thống Ubuntu với cấu hình mặc định.



Kiểm tra dịch vụ wildfly bằng lệnh sau.
Mã:
ss -plnt
systemctl status wildfly
Và bạn sẽ nhận được kết quả như bên dưới.





Như có thể thấy, wildfly chạy như một dịch vụ systemd trên cổng TCP mặc định '8080' trên hệ thống Ubuntu.

Bước 4 - Kích hoạt Bảng điều khiển quản trị WildFly​

Trong bước này, chúng tôi sẽ thiết lập một wildfly để chạy trên địa chỉ IP cục bộ '127.0.0.1' và kích hoạt bảng điều khiển quản trị của nó. Chúng tôi sẽ chỉnh sửa cấu hình wildfly 'wildfly.conf', tập lệnh khởi động wildfly 'launch.sh' và tệp dịch vụ wildfly 'wildfly.service'.

Chỉnh sửa cấu hình wildfly '/etc/wildfly/wildfly.conf' bằng trình soạn thảo vim.
Mã:
vim /etc/wildfly/wildfly.conf
Bây giờ hãy thay đổi giá trị của 'WILDFLY_BIND' bằng địa chỉ IP cục bộ '127.0.0.1'.
Mã:
WILDFLY_BIND=127.0.0.1
Để bật bảng điều khiển quản trị wildfly, hãy thêm cấu hình 'WILDFLY_CONSOLE_BIND' bên dưới.
Mã:
WILDFLY_CONSOLE_BIND=127.0.0.1
Lưu và đóng.

Tiếp theo, chỉnh sửa tập lệnh khởi động khởi chạy cho wildfly '/opt/wildfly/bin/launch.sh' bằng vim editor.
Mã:
vim /opt/wildfly/bin/launch.sh
Trên các dòng 'domain.sh' và 'standalone.sh', thêm tùy chọn bổ sung để kích hoạt bảng điều khiển quản trị wildfly như bên dưới.
Mã:
if [[ "$1" == "domain" ]]; sau đó
 $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.

Tiếp theo, chỉnh sửa tệp dịch vụ mặc định cho wildfly '/etc/systemd/system/wildfly.service' bằng trình soạn thảo vim.
Mã:
vim /etc/systemd/system/wildfly.service
Trên dòng 'ExecStart=/opt/wildfly/bin/launch.sh....', thêm tùy chọn '$WILDFLY_CONSOLE_BIND' như bên dưới.
Mã:
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Lưu và đóng.

Bây giờ hãy tải lại trình quản lý systemd và khởi động lại dịch vụ wildfly.
Mã:
systemctl daemon-reload
systemctl restart wildfly


Dịch vụ wildfly đang chạy với bảng điều khiển quản trị được bật, hãy kiểm tra bằng lệnh bên dưới.
Mã:
ss -plnt
systemctl status wildfly
Dưới đây là kết quả bạn sẽ nhận được.



Kết quả là, wildfly chạy trên địa chỉ IP cục bộ '127.0.0.1' với cổng TCP mặc định '8080' và bảng điều khiển quản trị wildfly được bật trên cổng TCP '9990'.

Bước 5 - Thiết lập người dùng quản trị WildFly​

Trong bước này, chúng ta sẽ tạo một người dùng mới để quản lý wildfly bằng cách sử dụng tập lệnh 'add-user.sh' do wildfly cung cấp.

Chạy tập lệnh 'add-user.sh' của wildfly như bên dưới.
Mã:
sh /opt/wildfly/bin/add-user.sh
Đối với loại người dùng, hãy nhập 'a' để tạo người dùng Quản lý (quản trị viên để quản lý wildfly).
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
Bây giờ hãy nhập tên người dùng và mật khẩu của bạn và đảm bảo sử dụng mật khẩu an toàn.
Mã:
Nhập thông tin chi tiết của người dùng mới để thêm.
Sử dụng miền 'ManagementRealm' được phát hiện từ các tệp thuộc tính hiện có.
Tên người dùng: hakase
Cá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:
Đối với nhóm người dùng mới, chỉ cần nhấn 'Enter' để tiếp tục.
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ó)[ ]:
Tiếp theo, nhập 'yes' để thêm người dùng của bạn vào 'ManagementRealm' trên wildfly.
Mã:
Sắp thêm người dùng 'hakase' cho miền 'ManagementRealm'
Điều này có đúng không? có/không? có
Đã thêm người dùng 'hakase' vào tệp '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Đã thêm người dùng 'hakase' vào tệp '/opt/wildfly/domain/configuration/mgmt-users.properties'
Đã thêm người dùng 'hakase' với các nhóm vào tệp '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Đã thêm người dùng 'hakase' với các nhóm vào tệp '/opt/wildfly/domain/configuration/mgmt-groups.properties'
Nhập '' để bật người dùng của bạn làm quy trình quản lý bộ điều khiển máy chủ chính-phụ của wildfly.
Mã:
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 EJB từ máy chủ đến máy chủ.
có/không? yes
Để biểu diễn người dùng, hãy thêm nội dung sau vào định nghĩa server-identities
Kết quả là, người dùng quản trị và quản lý cho wildfly đã được tạo.

Bước 6 - Thiết lập Nginx làm proxy ngược cho WildFly​

Trong bước này, chúng ta sẽ cài đặt và cấu hình Nginx làm proxy ngược cho wildfly trên hệ thống Ubuntu.

Cài đặt các gói Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx -y
Sau khi hoàn tất quá trình cài đặt, hãy chuyển đến thư mục cấu hình '/etc/nginx/'.
Mã:
cd /etc/nginx/
Tạo tệp mới 'proxy_headers.conf' trong thư mục '/etc/nginx/conf.d' bằng trình soạn thảo vim.
Mã:
vim conf.d/proxy_headers.conf
Dán cấu hình 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.

Tiếp theo, tạo cấu hình máy chủ ảo mới cho wildfly trong thư mục '/etc/nginx/sites-available'.
Mã:
vim sites-available/wildfly
Thay đổi địa chỉ IP bằng địa chỉ IP của riêng bạn và dán cấu hình vào đó.
Mã:
server {
 listen 80;
 server_name MÁY CHỦ-IP;

 vị trí / {
 bao gồm conf.d/proxy_headers.conf;
 proxy_pass http://127.0.0.1:8080;
 }

 vị trí /quản lý {
 bao gồm 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í /đăng xuất {
 bao gồm conf.d/proxy_headers.conf;
 proxy_pass http://127.0.0.1:9990/đăng xuất;
 }

 vị trí /lỗi {
 bao gồm conf.d/proxy_headers.conf;
 proxy_pass http://127.0.0.1:9990;
 }

}
Lưu và đóng.

Tiếp theo, kích hoạt máy chủ ảo wildfly và kiểm tra cấu hình Nginx.
Mã:
ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
nginx -t
Bây giờ hãy đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Nginx.
Mã:
systemctl restart nginx
Kết quả là quá trình cài đặt và cấu hình Nginx thành proxy ngược cho wildfly đã hoàn tất.


Bước 7 - Kiểm tra​

Mở trình duyệt web của bạn và nhập địa chỉ IP máy chủ của bạn vào thanh địa chỉ.

http://192.168.1.50/

Bây giờ bạn sẽ nhận được trang chỉ mục mặc định của wildfly như bên dưới.



Tiếp theo, truy cập bảng điều khiển quản trị wildfly theo đường dẫn URL '/console' như bên dưới.

http://192.168.1.50/console/

Đăng nhập bằng tên người dùng và mật khẩu quản trị wildfly của bạn.



Bây giờ bạn sẽ nhận được bảng điều khiển quản trị wildfly như bên dưới.



Kết quả là quá trình cài đặt wildfly với proxy ngược Nginx trên Ubuntu 20.04 Server đã hoàn tất thành công.
 
Back
Bên trên