GlassFish là một máy chủ ứng dụng nguồn mở được sử dụng để triển khai các ứng dụng Java. Nó hỗ trợ nhiều công nghệ dựa trên Java khác nhau bao gồm JPA, JavaServer Faces, JMS, RMI cũng như nhiều công nghệ dựa trên Java khác. Nó cung cấp giao diện web cũng như giao diện dòng lệnh để quản lý các ứng dụng Java và các thành phần của chúng. GlassFish cho phép bạn tạo các ứng dụng di động và có thể mở rộng, có thể dễ dàng tích hợp với các công nghệ cũ.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt máy chủ Glassfish 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 cài đặt Java 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.
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống vào thư mục /opt:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, tải lại daemon systemd để áp dụng các thay đổi.
Tiếp theo, khởi động dịch vụ Glassfish và cho phép nó khởi động khi khởi động lại hệ thống:
Bạn cũng có thể xác minh dịch vụ Glassfish bằng lệnh sau:
Bạn sẽ nhận được đầu ra 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 cung cấp tên người dùng quản trị viên như hiển thị bên dưới:
Cung cấp tên người dùng quản trị viên mặc định và nhấn phím Enter. Bạn sẽ được yêu cầu cung cấp mật khẩu quản trị viên hiện tại:
Chỉ cần nhấn phím Enter. Bạn sẽ được yêu cầu đặt mật khẩu quản trị viên mới như hiển thị bên dưới:
Nhập mật khẩu quản trị viên mới> Nhập lại mật khẩu quản trị viên mới>
Đặt mật khẩu bảo mật của bạn và nhấn Enter. Bạn sẽ nhận được kết quả đầu ra sau:
Tiếp theo, bạn cũng nên bật HTTPS trên Glassfish. Bạn có thể thực hiện bằng cách chạy lệnh sau:
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ị viên để bật HTTPS:
Cuối cùng, hãy khởi động lại dịch vụ Glassfish để áp dụng các thay đổi:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, hãy truy cập giao diện quản trị Glassfish bằng URL . Bạn sẽ được chuyển hướng đến trang đăng nhập Glassfish:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy giao diện quản trị Glassfish trên trang sau:
Nhấp vào máy chủ ở ngăn bên trái, bạn sẽ thấy màn hình sau:
Từ đây, bạn có thể khởi động lại, dừng và xem nhật ký Glassfish.
Nhấp vào Nodes ở ngăn bên trái, bạn sẽ thấy thông tin nút Glassfish ở màn hình sau:
Để thực hiện, trước tiên hãy cài đặt gói Nginx bằng lệnh sau:
Sau khi cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh bên dưới:
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:
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Tiếp theo, 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 của 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ụ giao diện web Glassfish. Bây giờ bạn có thể truy cập giao diện web Glassfish bằng URL
.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt máy chủ Glassfish 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ài đặt Java
Glassfish là một phần mềm ứ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 unzip -y
Mã:
java --version
Mã:
openjdk 11.0.13 2021-10-19Môi trường thời gian chạy OpenJDK (bản dựng 11.0.13+8-post-Debian-1deb11u1)OpenJDK Máy ảo máy chủ 64-Bit (bản dựng 11.0.13+8-post-Debian-1deb11u1, chế độ hỗn hợp, chia sẻ)
Tải xuống Glassfish
Đầu tiên, bạn sẽ cần tải xuống phiên bản Glassfish mới nhất từ trang web Eclipse. Bạn có thể tải xuống bằng lệnh wget như được hiển thị bên dưới:
Mã:
wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip
Mã:
unzip glassfish-6.1.0.zip -d /opt/
Tạo tệp dịch vụ Systemd cho Glassfish
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý dịch vụ Glassfish. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /usr/lib/systemd/system/glassfish.service
Mã:
[Unit]Description = GlassFish Server v6.1.0After = syslog.target network.target[Service]User = rootExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domainExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domainExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domainType = forking[Install]WantedBy = multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start glassfish
systemctl enable glassfish
Mã:
systemctl status glassfish
Mã:
? glassfish.service - GlassFish Server v6.1.0 Đã tải: đã tải (/lib/systemd/system/glassfish.service; đã tắ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ừ CN 2021-11-07 04:56:16 UTC; 8 giây trước Tiến trình: 6018 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC> PID chính: 6037 (java) Nhiệm vụ: 91 (giới hạn: 4679) Bộ nhớ: 343,0M CPU: 13,299 giây CGroup: /system.slice/glassfish.service ??6037 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp>07/11 04:56:10 debian11 systemd[1]: Đang khởi động GlassFish Server v6.1.0...07/11 04:56:16 debian11 java[6018]: Đang chờ domain1 khởi động .....07/11 04:56:16 debian11 java[6018]: Đã khởi động domain thành công: domain107/11 04:56:16 debian11 java[6018]: domain Vị trí: /opt/glassfish6/glassfish/domains/domain107/11 04:56:16 debian11 java[6018]: Tệp nhật ký: /opt/glassfish6/glassfish/domains/domain1/logs/server.log07/11 04:56:16 debian11 java[6018]: Cổng quản trị: 484807/11 04:56:16 debian11 java[6018]: Lệnh start-domain đã được thực thi thành công.07/11 04:56:16 debian11 systemd[1]: Đã khởi động GlassFish Server v6.1.0.
Đặt mật khẩu quản trị Glassfish
Theo mặc định, Glassfish có thể truy cập mà không cần bất kỳ mật khẩu nào. Vì vậy, bạn nên bảo mật bằng cách thiết lập mật khẩu quản trị viên. Bạn có thể thực hiện bằng cách chạy lệnh sau:
Mã:
/opt/glassfish6/bin/asadmin --port 4848 change-admin-password
Mã:
Nhập tên người dùng quản trị viên [mặc định: admin]>admin
Mã:
Nhập mật khẩu quản trị viên>
Nhập mật khẩu quản trị viên mới> Nhập lại mật khẩu quản trị viên mới>
Đặt mật khẩu bảo mật của bạn và nhấn Enter. Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
Lệnh change-admin-password được thực hiện thành công.
Mã:
/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin
Mã:
Nhập tên người dùng quản trị viên> adminNhập mật khẩu quản trị viên cho người dùng "admin">Bạn phải khởi động lại tất cả các máy chủ đang chạy để thay đổi trong quản trị viên an toàn có hiệu lực.Lệnh enable-secure-admin đã thực thi thành công.
Mã:
systemctl restart glassfish
Truy cập Giao diện web GlassFish
Lúc này, Glassfish đã được cài đặt và đang chạy. Theo mặc định, giao diện web Glassfish lắng nghe trên cổng 8080 trong khi giao diện quản trị lắng nghe trên cổng 4848. Trước tiên, hãy truy cập giao diện web Glassfish bằng URL . Bạn sẽ thấy trang sau:Tiếp theo, hãy truy cập giao diện quản trị Glassfish bằng URL . Bạn sẽ được chuyển hướng đến trang đăng nhập Glassfish:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy giao diện quản trị Glassfish trên trang sau:
Nhấp vào máy chủ ở ngăn bên trái, bạn sẽ thấy màn hình sau:
Từ đây, bạn có thể khởi động lại, dừng và xem nhật ký Glassfish.
Nhấp vào Nodes ở ngăn bên trái, bạn sẽ thấy thông tin nút Glassfish ở màn hình sau:
Cấu hình Nginx làm Proxy ngược cho Glassfish
Bạn nên cấu hình Nginx làm proxy ngược để truy cập giao diện web Glassfish. Vì vậy, bạn có thể truy cập ứng dụng của mình mà không cần sử dụng cổng 8080.Để thực hiện, trước tiên hãy cài đặt gói Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Mã:
nano /etc/nginx/conf.d/glassfish.conf
Mã:
upstream glassfish { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;}server { listen 80; server_name glassfish.example.com; 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/hello/; }}
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: thử nghiệm 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ột máy chủ web hiệu suất cao và một 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ừ CN 2021-11-07 05:02:58 UTC; 22 giây trước Tài liệu: man:nginx(8) Tiến trình: 6790 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 6791 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 6873 (nginx) Nhiệm vụ: 3 (giới hạn: 4679) Bộ nhớ: 5,1M CPU: 53ms CGroup: /system.slice/nginx.service ??6873 nginx: tiến trình chính /usr/sbin/nginx -g daemon bật; master_process bật; ??6875 nginx: tiến trình công nhân ??6876 nginx: tiến trình công nhân07-11 05:02:58 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...07-11 05:02:58 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.