Cách cài đặt GlassFish với Nginx làm Proxy ngược trên Debian 10

theanh

Administrator
Nhân viên
GlassFish là một mã nguồn mở và là triển khai đầu tiên trên thế giới của Java Platform do Eclipse Foundation phát triển. Đây là một máy chủ ứng dụng nhẹ và hỗ trợ nhiều công nghệ dựa trên Java khác nhau như Enterprise JavaBeans, JPA, JavaServer Faces, JMS và nhiều công nghệ khác nữa. GlassFish đi kèm với một bảng điều khiển quản trị đơn giản và dễ sử dụng với một công cụ cập nhật để cập nhật và các thành phần bổ sung.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt GlassFish trên Debian 10 với Nginx làm proxy ngược.

Yêu cầu​

  • Một máy chủ chạy Debian 10.
  • Mật khẩu gốc được thiết lập cho máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Mã:
apt-get update -y
 apt-get upgrade -y
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại máy chủ để áp dụng các thay đổi.

Cài đặt Java​

GlassFish yêu cầu phải cài đặt Java phiên bản 8 trên máy chủ của bạn. Vì vậy, bạn sẽ cần phải xóa Java nếu bạn đã cài đặt bất kỳ phiên bản Java nào khác trên hệ thống của mình.

Bạn có thể xóa phiên bản Java 11 bằng lệnh sau:
Mã:
apt-get remove openjdk-11-jre-headless
Tiếp theo, bạn sẽ cần tải xuống phiên bản Java 8 từ trang web chính thức của họ. 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 /usr/lib/jvm bằng lệnh sau:
Mã:
mkdir /usr/lib/jvm/
 tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/
Tiếp theo, đặt phiên bản Java mặc định bằng lệnh sau:
Mã:
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_221/bin/java 1
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
update-alternatives: sử dụng /usr/lib/jvm/jdk1.8.0_221/bin/java để cung cấp /usr/bin/java (java) ở chế độ tự động
Bây giờ bạn có thể kiểm tra phiên bản java version với lệnh sau:
Mã:
java -version
Bạn sẽ thấy kết quả sau:
Mã:
java version "1.8.0_221"Java(TM) SE Runtime Environment (bản dựng 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (bản dựng 25.221-b11, chế độ hỗn hợp)

Cài đặt GlassFish​

Trước tiên, cài đặt các gói cần thiết bằng lệnh sau:
Mã:
apt-get install wget unzip -y
Tiếp theo, tải xuống phiên bản GlassFish mới nhất bằng lệnh sau:
Mã:
wget http://download.oracle.com/glassfish/5.0.1/nightly/latest-glassfish.zip
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 bằng lệnh sau lệnh:
Mã:
giải nén latest-glassfish.zip -d /opt/
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo Dịch vụ GlassFish​

Tiếp theo, bạn có thể 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 /etc/systemd/system/glassfish.service
Thêm nội dung sau:
Mã:
[Unit]Mô tả = GlassFish Server v5.0Sau = syslog.target network.target[Service]ExecStart=/opt/glassfish5/bin/asadmin start-domainExecReload=/opt/glassfish5/bin/asadmin restart-domainExecStop=/opt/glassfish5/bin/asadmin stop-domainLoại = forking[Install]WantedBy = multi-user.target
Lưu và đóng tệp. Sau đó, tải lại daemon systemd bằng lệnh sau:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ GlassFish và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
systemctl start glassfish
 systemctl enable glassfish
Bây giờ bạn có thể kiểm tra trạng thái của dịch vụ GlassFish bằng lệnh sau:
Mã:
systemctl status glassfish
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? glassfish.service - GlassFish Server v5.0 Đã tải: đã tải (/etc/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ừ Thu 2019-09-19 04:54:25 EDT; 42 giây trước Tiến trình: 15205 ExecStart=/opt/glassfish5/bin/asadmin start-domain (code=exited, status=0/SUCCESS) PID chính: 15217 (java) Nhiệm vụ: 90 (giới hạn: 1138) Bộ nhớ: 271,7M CGroup: /system.slice/glassfish.service ??15217 /usr/lib/jvm/jdk1.8.0_221/bin/java -cp /opt/glassfish5/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOptions -XX:Ne19/09 04:53:42 debian systemd[1]: Đang khởi động GlassFish Server v5.0...19/09 04:54:24 debian asadmin[15205]: Đang đợi domain1 khởi động .................................19/09 04:54:24 debian asadmin[15205]: Đã khởi động thành công miền: domain119/09 04:54:24 debian asadmin[15205]: Vị trí miền: /opt/glassfish5/glassfish/domains/domain119/09 04:54:24 debian asadmin[15205]: Tệp nhật ký: /opt/glassfish5/glassfish/domains/domain1/logs/server.log19/09 04:54:24 debian asadmin[15205]: Cổng quản trị: 484819/09 04:54:24 debian asadmin[15205]: Lệnh start-domain đã được thực thi thành công.19/09 04:54:25 debian systemd[1]: Đã khởi động GlassFish Server v5.0.dòng 1-18/18 (KẾT THÚC)

Bật Bảng điều khiển quản trị GlassFish​

Theo mặc định, mật khẩu bảng điều khiển quản trị GlassFish không được đặt. Vì vậy, bạn sẽ cần cập nhật mật khẩu quản trị.

Chạy lệnh sau để đặt mật khẩu quản trị:
Mã:
/opt/glassfish5/bin/asadmin change-admin-password
Cung cấp mật khẩu mong muốn của bạn và nhấn Enter. Sau khi mật khẩu đã được đặt, bạn sẽ thấy đầu ra sau:
Mã:
Nhập tên người dùng quản trị [mặc định: admin]>adminNhập mật khẩu quản trị>Nhập mật khẩu quản trị mới>Nhập lại mật khẩu quản trị mới>Lệnh change-admin-password đã thực hiện thành công.
Tiếp theo, bạn sẽ cần bật tính năng quản trị an toàn. Bạn có thể thực hiện bằng lệnh sau:
Mã:
/opt/glassfish5/bin/asadmin enable-secure-admin
Cung cấp tên người dùng và mật khẩu quản trị viên của bạn, rồi nhấn Enter để bật quản trị viên an toàn như hiển thị bên dưới:
Mã:
Nhập tên người dùng quản trị> 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 hiện thành công.
Tiếp theo, khởi động lại dịch vụ GlassFish để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart glassfish

Truy cập GlassFish​

Theo mặc định, ứng dụng GlassFish chạy trên cổng 8080. Bạn có thể truy cập ứng dụng này bằng cách truy cập URL http://your-server-ip:8080. Bạn sẽ thấy trang sau:



Bảng điều khiển quản trị GlassFish chạy trên cổng 4848. Bạn có thể truy cập bằng cách truy cập URL http://your-server-ip:4848. Bạn sẽ thấy trang đăng nhập GlassFish:



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


Triển khai ứng dụng trên GlassFish​

GlassFish hiện đã được cài đặt và định cấu hình, đã đến lúc triển khai ứng dụng mẫu trên GlassFish.

Trước tiên, hãy tải xuống ứng dụng hello.war bằng lệnh sau:
Mã:
wget https://github.com/dmatej/Glassfish/raw/master/v2/www/downloads/quickstart/hello.war
Tiếp theo, hãy triển khai ứng dụng hello.war bằng lệnh sau:
Mã:
/opt/glassfish5/bin/asadmin deploy hello.war
Bạn sẽ thấy đầu ra sau:
Mã:
Phiên bản: V3 Chủ đề: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US Thuật toán chữ ký: SHA256withRSA, OID = 1.2.840.113549.1.1.11 Khóa: Khóa công khai Sun RSA, mô đun 2048 bit: 26796330640308027923768800042502020134808966576745098232029910481655545436468 20792892143490749598643006907224554760705301042871775593218704862325215361304 16360914297001338995375669128062977883750813595168360910021337431387572617946 90981737280330851500902934286405305506594303276580413684625941149729611614458 78209118752228349992688043635785191303613704896995343920747463015204971280697 59829014611061703662079977648660531583187078167712632611472847078750456340664 23002500565550480728681743613266266732299458152358213914375115269066441015633 123820868476095174900081535873996509058837674720310526766610294764426209317187 public exponent: 65537 Hiệu lực: [Từ: Thứ Ba, ngày 15 tháng 1 năm 2019 lúc 21:17:50 EST, Đến: Thứ Sáu, ngày 12 tháng 1 năm 2029 lúc 21:17:50 EST] Bên phát hành: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US SerialNumber: [ 3347569f]Phần mở rộng chứng chỉ: 1[1]: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: F2 F1 22 14 40 CA 9E 1D 92 3B B6 B9 09 D1 27 E7 ..".@....;....'.0010: 50 1A 37 4D P.7M]]] Thuật toán: [SHA256withRSA] Chữ ký:0000: C7 CB 91 D4 9B 39 21 13 B3 48 87 09 85 2E DF B7.....9!...H......0010: F9 E7 52 1B 39 D0 12 55 97 A8 02 8D B9 EC 26 F0 ..R.9..U......&.0020: A6 8F 29 5B 96 80 71 AA CB C8 EA 83 4F 18 E7 19 ..)[..q.....O...0030: 26 CF BF 72 B1 E6 23 53 F2 14 CD BA 68 FE 4B 4C &..r..#S....h.KL0040: BB B1 3E DE D9 EB 6D 96 8C 8F 0D 33 B6 E7 28 F1 ..>...m...3..(.0050: D5 40 6B BC 01 FF F9 5A 79 9A 96 DA D9 2A 84 99 [email được bảo vệ]....*..0060: FA 3A 7A 9D 52 6C C2 D5 E9 DC 98 8B 20 EF 69 99 .:z.Rl...... .i.0070: E6 FC 1B 0F CA B2 0C 66 BE BB A7 EA 3D DB BB F5 ......f...=...0080: 88 F1 B4 B1 15 74 FA 9F E0 9A 98 C5 12 A0 60 B4.....t........`.0090: 9B 92 19 FD BA 81 20 7F 51 83 E9 22 56 96 9A 40 ...... .Q.."V..@00A0: 2C 27 BB 86 57 7D 2E E9 C5 98 1A 04 A2 C5 FC 17 ,'..W...........00B0: 6E 8B 31 79 29 A0 A1 22 1A 31 C0 A6 96 7A D4 80 n.1y)..".1...z..00C0: 3F 05 26 BB DE D1 2D 74 01 1F 24 EC CE 3B 97 42 ?.&...-t..$..;.B00D0: 16 E8 16 F1 A4 10 92 0B 8E A5 18 59 BF AA 69 B0 ...........Y..i.00E0: DB C8 C2 66 5F 5D 2F 3D 4B C7 90 1D C2 24 B1 57 ...f_]/=K....$.W00F0: 22 02 DA 76 FF 2E B7 C5 E4 E6 50 BD 73 36 AA 8A "..v......P.s6..]Bạn có tin tưởng chứng chỉ trên không [y|N] -->yNhập tên người dùng quản trị> adminNhập mật khẩu quản trị cho người dùng "admin">Ứng dụng được triển khai với tên hello.Lệnh triển khai được thực hiện thành công.
Để truy cập ứng dụng của bạn, hãy mở trình duyệt web và nhập URL http://your-server-ip:8080/hello. Bạn sẽ được chuyển hướng đến trang sau:


Cấu hình Nginx làm Proxy ngược​

Bây giờ, bạn sẽ cần cấu hình Nginx làm proxy ngược để yêu cầu proxy đến từ cổng 80 đến 8080.

Trước tiên, hãy cài đặt Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi nginx đã được cài đặt, hãy tạo tệp máy chủ ảo Nginx cho GlassFish bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/glassfish.conf
Thêm các dòng sau:
Mã:
upstream glassfish { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;}server { listen 80; server_name 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/; }}
Lưu và đóng tệp. Sau đó, hãy kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được kết quả sau:
Mã:
nginx: tệp cấu hình /etc/nginx/nginx.conf syntax is oknginx: tệp cấu hình /etc/nginx/nginx.conf test is successful
Tiếp theo, hãy bật máy chủ ảo Nginx và khởi động lại dịch vụ Nginx bằng lệnh sau:
Mã:
ln -s /etc/nginx/sites-available/glassfish.conf /etc/nginx/sites-enabled/
 systemctl restart nginx
Bây giờ, bạn có thể truy cập ứng dụng của mình bằng cách truy cập URL http://example.com.

Xin chúc mừng! bạn đã cài đặt thành công GlassFish với Nginx làm proxy ngược trên Debian 10. Bây giờ, bạn có thể triển khai bất kỳ ứng dụng nào dựa trên Java trên máy chủ của mình một cách dễ dàng.
 
Back
Bên trên