Cách cài đặt GlassFish Application Server với Nginx Reverse Proxy trên Debian 12

theanh

Administrator
Nhân viên
GlassFish là một triển khai miễn phí và mã nguồn mở của Nền tảng Java EE do Eclipse phát triển. Đây là triển khai đầu tiên trên thế giới của nền tảng Java EE cung cấp một máy chủ ứng dụng nhẹ và cho phép bạn triển khai nhiều ứng dụng dựa trên Java. GlassFish hỗ trợ nhiều loại công nghệ ứng dụng Java như Enterprise JavaBeans, JPA, JavaServer Faces, JMS và nhiều loại khác nữa.

GlassFish là một trong những lựa chọn tốt nhất cho các nhà phát triển để phát triển và triển khai các ứng dụng dựa trên Java. Nó cho phép các nhà phát triển phát triển các ứng dụng doanh nghiệp theo cách thuận tiện và cũng có kiến trúc có thể mở rộng. Dự án GlasshFish ban đầu được Sun Microsystem khởi xướng. Nó đi kèm với hai Giấy phép miễn phí khác nhau - Giấy phép Phát triển và Phân phối Chung và Giấy phép Công cộng GNU.

Trong hướng dẫn này, bạn sẽ cài đặt GlassFish Application Server trên Debian 12 theo quy trình từng bước. Bạn cũng sẽ cấu hình Nginx làm proxy ngược cho cài đặt GlassFish của mình.

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

Để bắt đầu quá trình, hãy đảm bảo bạn có những điều sau:
  • Máy chủ Debian 12 có ít nhất 4GB RAM hoặc bộ nhớ.
  • Người dùng không phải root có quyền sudo.

Cài đặt Java OpenJDK​

GlassiFish là máy chủ ứng dụng để triển khai các ứng dụng Java. Để cài đặt GlassFish, trước tiên bạn phải cài đặt Java trên hệ thống Debian của mình. Hiện tại, kho lưu trữ Debian cung cấp Java OpenJDK 17, tương thích với phiên bản GlassFish mới nhất.

Trước tiên, hãy cập nhật và làm mới kho lưu trữ Debian của bạn bằng lệnh sau.
Mã:
sudo apt update

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


Sau khi kho lưu trữ được cập nhật, hãy cài đặt gói default-jdk bằng cách thực hiện lệnh bên dưới. Bằng cách cài đặt gói default-jdk, bạn sẽ cài đặt Java OpenJDK 17.
Mã:
sudo apt install default-jdk
Nhập y để tiếp tục cài đặt.


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


Sau khi cài đặt hoàn tất, hãy xác minh Java của bạn phiên bản sử dụng lệnh bên dưới. Bạn sẽ thấy Java OpenJDK 17 đã được cài đặt.
Mã:
java -version

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

Thiết lập hệ thống​

Sau khi cài đặt Java OpenJDK, bước tiếp theo là thiết lập hệ thống Debian của bạn bằng cách cài đặt các gói bổ sung như wgetunzip, tạo người dùng hệ thống glassfish mới và cấu hình biến môi trường JAVA_HOME.

Để bắt đầu, bạn sẽ cài đặt gói unzip và wget bằng cách thực hiện lệnh apt sau.
Mã:
sudo apt install unzip wget -y

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


Bây giờ, hãy chạy lệnh bên dưới để tạo người dùng hệ thống mới glassfish. Người dùng này sẽ được sử dụng để chạy cài đặt GlasFish của bạn, cài đặt này sẽ nằm trong thư mục /opt/glassfish.
Mã:
sudo useradd -M -d /opt/glassfish -U -s /bin/false glassfish
Tiếp theo, tạo một tập lệnh bash mới /etc/profile.d/java.sh bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/profile.d/java.sh
Thêm cấu hình sau vào thiết lập biến môi trường JAVA_HOME và thêm đường dẫn nhị phân Java vào PATH của hệ thống.
Mã:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
Lưu và đóng tệp khi bạn hoàn tất.

Bây giờ hãy tải biến môi trường mới trong /etc/profile.d/java.sh bằng lệnh nguồn bên dưới.
Mã:
source /etc/profile.d/java.sh
Cuối cùng, thực hiện lệnh sau để xác minh các biến môi trường PATHJAVA_HOME của hệ thống.
Mã:
echo $JAVA_HOME
echo $PATH
Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy đường dẫn JAVA_HOME được định cấu hình thành thư mục /usr/lib/jvm/java-17-openjdk-amd64, và thư mục bin Java được thêm vào PATH của hệ thống.


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

Tải xuống Gói nhị phân GlassFish​

Sau khi cài đặt Java OpenJDK và hệ thống Debian của bạn đã sẵn sàng, giờ đây bạn có thể tải xuống và cài đặt GlassFish. Trước khi tiếp tục, hãy kiểm tra trang tải xuống GlassFish để tải phiên bản GlassFish mới nhất. Hiện tại, phiên bản GlassFish mới nhất là v7.0.10.

Truy cập thư mục /tmp và tải xuống gói nhị phân GlassFish thông qua lệnh wget bên dưới. Sau khi quá trình tải xuống hoàn tất, bạn sẽ thấy tệp glassfish-7.0.10.zip.
Mã:
cd /tmp
wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.10.zip
Giải nén tệp glassfish-7.0.10.zip vào thư mục /opt thông qua lệnh unzip bên dưới. Gói GlassFish sẽ được giải nén vào thư mục /opt/glassfish7.
Mã:
unzip glassfish-7.0.10.zip -d /opt
Cuối cùng, đổi tên thư mục đã giải nén từ /opt/glassfish7 thành /opt/glassfish. Sau đó, thay đổi quyền sở hữu thư mục /opt/glassfish thành người dùng glassfish.
Mã:
mv /opt/glassfish7 /opt/glassfish
sudo chown -R glassfish:glassfish /opt/glassfish

Chạy GlassFish dưới dạng Dịch vụ Systemd​

Sau khi tải xuống gói nhị phân GlassFish, bạn sẽ tạo một tệp dịch vụ systemd mới sẽ được sử dụng để chạy GlassFish. Điều này cho phép bạn quản lý GlassFish thông qua tiện ích systemctl và chạy GlassFish ở chế độ nền như một dịch vụ systemd.

Để chạy GlassFish như một dịch vụ systemd, hãy chạy lệnh nano editor bên dưới để tạo một tệp mới /etc/systemd/system/glassfish.service.
Mã:
sudo nano /etc/systemd/system/glassfish.service
Chèn cấu hình sau vào tệp.
Mã:
[Unit]
Description = GlassFish Server v7
After = syslog.target network.target

[Service]
User=glassfish
ExecStart=/opt/glassfish/bin/asadmin start-domain
ExecReload=/opt/glassfish/bin/asadmin restart-domain
ExecStop=/opt/glassfish/bin/asadmin stop-domain
Type = forking

[Install]
WantedBy = multi-user.target
Lưu và đóng khi bạn hoàn tất.

Bây giờ, hãy chạy lệnh systemctl sau để tải lại trình quản lý systemd và áp dụng các thay đổi.
Mã:
sudo systemctl daemon-reload
Sau khi trình quản lý systemd được tải lại, hãy khởi động và kích hoạt dịch vụ glassfish bằng cách sử dụng lệnh sau lệnh.
Mã:
sudo systemctl start glassfish
sudo systemctl enable glassfish

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


Cuối cùng, hãy xác minh trạng thái dịch vụ glassfish bằng lệnh bên dưới.
Mã:
sudo systemctl status glassfish
Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy trạng thái glassfish là hoạt động (đang chạy) và nó đã được bật.


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

Thiết lập Người dùng và Bảo mật Quản trị GlassFish​

Lúc này, GlassFish đã được thiết lập và chạy. Bây giờ bạn sẽ cấu hình cài đặt GlassFish bằng cách thay đổi mật khẩu mặc định cho Admin Console và bật Secure Admin. Những thao tác này có thể được thực hiện thông qua lệnh asadmin có sẵn trong thư mục /opt/glassfish/bin.

Thực hiện dòng lệnh asadmin bên dưới để thay đổi mật khẩu quản trị viên cho cài đặt GlassFish của bạn.
Mã:
sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 change-admin-password
Trong quá trình này, bạn sẽ được hỏi những điều sau:
  • Nhập người dùng quản trị viên mặc định cho GlassFish.
  • Nhấn ENTER khi được yêu cầu nhập mật khẩu. Người dùng quản trị mặc định cho GlassFish không có mật khẩu.
  • Bây giờ hãy nhập mật khẩu quản trị mới cho GlassFish và lặp lại.
Khi quá trình hoàn tất, bạn sẽ nhận được thông báo như sau:


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


Tiếp theo, hãy chạy lệnh asadmin bên dưới để bật quản trị an toàn trên cài đặt GlassFish của bạn.

Về cơ bản, Quản trị an toàn cho phép liên lạc an toàn qua SSL giữa máy chủ quản trị miền (DAS), các phiên bản từ xa và máy khách quản trị, bao gồm tiện ích asadmin, bảng điều khiển quản trị và REST khách hàng.
Mã:
sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 enable-secure-admin
Nhập tên người dùng và mật khẩu quản trị GlassFish của bạn, sau đó nhấn Enter. Khi hoàn tất, đầu ra sau sẽ được hiển thị.


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


Sau khi bật Secure admin, hãy chạy lệnh sau để khởi động lại dịch vụ glassfish và áp dụng các thay đổi.
Mã:
sudo systemctl restart glassfish
Bây giờ, 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 như http://192.168.5.15:8080/. Nếu cài đặt GlassFish thành công, bạn sẽ nhận được trang sau, xác nhận rằng GlassFish đang chạy.


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


Cuối cùng, hãy mở một tab mới và truy cập cùng một địa chỉ IP máy chủ có cổng 4848 (tức là: https://192.168.5.15:4848/) để truy cập trang quản trị GlassFish. Chấp nhận chứng chỉ SSL/TLS trên trình duyệt web của bạn và nếu thành công, bạn sẽ nhận được trang đăng nhập quản trị GlassFish bên dưới.


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

Cài đặt Nginx làm Proxy ngược​

Trong hướng dẫn này, bạn sẽ chạy GlassFish với Nginx làm proxy ngược. Bây giờ, bạn sẽ cài đặt Nginx trên máy Debian của mình và tạo cấu hình khối máy chủ mới cho GLassFish. Trong trường hợp này, chúng tôi sẽ sử dụng tên miền cục bộ glassfish.howtoforge.local.

Trước tiên, hãy cài đặt Nginx vào hệ thống Debian của bạn bằng lệnh apt sau. Nhập y để tiếp tục cài đặt.
Mã:
sudo apt install nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22647%22%20height=%22309%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/sites-available/glassfish bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/nginx/sites-available/glassfish
Chèn cấu hình sau và đảm bảo thay đổi tham số server_name bằng tên miền cục bộ của bạn.
Mã:
upstream glassfish {
 server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
 listen 80;
 server_name glassfish.howtoforge.local;

 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://glassfish/;
 }
}
Lưu và thoát tệp khi hoàn tất.

Tiếp theo, chạy lệnh sau để kích hoạt cấu hình khối máy chủ glassfish và xác minh cú pháp Nginx để đảm bảo rằng bạn đã cú pháp.
Mã:
sudo ln -s /etc/nginx/sites-available/glassfish /etc/nginx/sites-enabled/
sudo nginx -t
Nếu bạn có cú pháp Nginx đúng, bạn sẽ nhận được kết quả 'kiểm tra thành công - cú pháp ổn'.


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


Bây giờ bạn có thể khởi động lại dịch vụ Nginx và áp dụng các thay đổi. Sau đó, hãy xác minh dịch vụ Nginx để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl restart nginx
sudo systemctl status nginx
Trong đầu ra sau, bạn sẽ thấy dịch vụ Nginx đang chạy.


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

Truy cập GlassFish Cài đặt​

Trong phần cuối, bạn sẽ truy cập cài đặt GlassFish của mình từ máy khách. Bạn có thể sử dụng bất kỳ hệ điều hành nào làm máy khách.

Chỉnh sửa tệp /etc/hosts trên máy cục bộ của bạn và chèn cấu hình sau. Đảm bảo thay đổi địa chỉ IP của máy chủ và tên miền cục bộ. Nếu bạn đang sử dụng máy khách Windows, hãy đảm bảo sửa đổi tệp C:\Windows\System32\drivers\etc\hosts với tư cách là quản trị viên.
Mã:
192.168.5.15 glassfish.howtoforge.local
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ài đặt GlassFish của bạn, chẳng hạn như http://glassfish.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 trang GlassFish mặc định như sau.


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


Tiếp theo, hãy truy cập trang quản trị GlassFish trong cổng 4848 (tức là: https://glassfish.howtoforge.local:4848/). Trong trang đăng nhập, hãy nhập tên người dùng và mật khẩu quản trị viên 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=%22528%22%3E%3C/svg%3E


Nếu cài đặt thành công, bạn sẽ nhận được bảng điều khiển quản trị GlassFish như sau:


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


Bây giờ hãy nhấp vào menu Máy chủ để kiểm tra trạng thái của Cài đặt GlassFish. Trong ví dụ này, bạn sẽ thấy GlassFish 7.0 được cài đặt với trạng thái Đang chạy.


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


Từ đây, giờ bạn có thể quản lý máy chủ ứng dụng GlassFish của mình

Kết luận​

Tóm lại, giờ bạn đã cài đặt thành công Máy chủ ứng dụng GlassFish trên máy chủ Debian 12, theo hướng dẫn từng bước. Bạn đã cài đặt GlassFish với Java OpenJDK 17 và Nginx làm proxy ngược, đồng thời bảo mật GlassFish bằng cách thay đổi mật khẩu quản trị viên mặc định và bật Secure Admin. Bây giờ bạn có thể bắt đầu triển khai ứng dụng của mình với GlassFish.
 
Back
Bên trên