GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat GlassFish Java Server s Nginx jako reverzní proxy na Debian 11

GlassFish je open-source aplikační server používaný pro nasazení Java aplikací. Podporuje různé technologie založené na Javě včetně JPA, JavaServer Faces, JMS, RMI a také mnoho dalších technologií založených na Javě. Poskytuje webové rozhraní i rozhraní příkazového řádku pro správu aplikací Java a jejich komponent. GlassFish vám umožňuje vytvářet přenosné a škálovatelné aplikace, které lze snadno integrovat se staršími technologiemi.

V tomto tutoriálu vám ukážu, jak nainstalovat server Glassfish s Nginx jako reverzní proxy na Debian 11.

Předpoklady

  • Server se systémem Debian 11.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Instalovat Javu

Glassfish je aplikační software založený na java, takže Java musí být nainstalována na vašem serveru. Pokud není nainstalován, můžete jej nainstalovat spuštěním následujícího příkazu:

apt-get install default-jdk unzip -y

Jakmile je Java nainstalována, můžete ověřit instalaci Java pomocí následujícího příkazu:

java --version

Získáte následující výstup:

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Stáhnout Glassfish

Nejprve si budete muset stáhnout nejnovější verzi Glassfish z webu Eclipse. Můžete si jej stáhnout pomocí příkazu wget, jak je uvedeno níže:

wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip

Po dokončení stahování rozbalte stažený soubor do adresáře /opt:

unzip glassfish-6.1.0.zip -d /opt/

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Vytvoření souboru Systemd Service pro Glassfish

Dále budete muset vytvořit soubor služby systemd pro správu služby Glassfish. Můžete jej vytvořit pomocí následujícího příkazu:

nano /usr/lib/systemd/system/glassfish.service

Přidejte následující řádky:

[Unit]
Description = GlassFish Server v6.1.0
After = syslog.target network.target

[Service]
User = root
ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domain
Type = forking

[Install]
WantedBy = multi-user.target

Po dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd, aby se změny aplikovaly.

systemctl daemon-reload

Dále spusťte službu Glassfish a povolte její spuštění při restartu systému:

systemctl start glassfish
systemctl enable glassfish

Službu Glassfish můžete také ověřit pomocí následujícího příkazu:

systemctl status glassfish

Získáte následující výstup:

? glassfish.service - GlassFish Server v6.1.0
     Loaded: loaded (/lib/systemd/system/glassfish.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 04:56:16 UTC; 8s ago
    Process: 6018 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC>
   Main PID: 6037 (java)
      Tasks: 91 (limit: 4679)
     Memory: 343.0M
        CPU: 13.299s
     CGroup: /system.slice/glassfish.service
             ??6037 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp>

Nov 07 04:56:10 debian11 systemd[1]: Starting GlassFish Server v6.1.0...
Nov 07 04:56:16 debian11 java[6018]: Waiting for domain1 to start .....
Nov 07 04:56:16 debian11 java[6018]: Successfully started the domain : domain1
Nov 07 04:56:16 debian11 java[6018]: domain  Location: /opt/glassfish6/glassfish/domains/domain1
Nov 07 04:56:16 debian11 java[6018]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log
Nov 07 04:56:16 debian11 java[6018]: Admin Port: 4848
Nov 07 04:56:16 debian11 java[6018]: Command start-domain executed successfully.
Nov 07 04:56:16 debian11 systemd[1]: Started GlassFish Server v6.1.0.

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Nastavit heslo správce Glassfish

Ve výchozím nastavení je Glassfish přístupný bez jakéhokoli hesla. Je tedy dobré jej zabezpečit nastavením hesla správce. Můžete to udělat spuštěním následujícího příkazu:

/opt/glassfish6/bin/asadmin --port 4848 change-admin-password

Budete požádáni o zadání uživatelského jména správce, jak je uvedeno níže:

Enter admin user name [default: admin]>admin

Zadejte výchozí uživatelské jméno správce a stiskněte klávesu Enter. Budete požádáni o zadání stávajícího hesla správce:

Enter the admin password> 

Stačí stisknout klávesu Enter. Budete požádáni o nastavení nového hesla správce, jak je uvedeno níže:

Zadejte nové heslo správce> Znovu zadejte nové heslo správce>

Nastavte si zabezpečené heslo a stiskněte Enter. Získáte následující výstup:

Command change-admin-password executed successfully.

Dále se také doporučuje povolit HTTPS na Glassfish. Můžete to udělat spuštěním následujícího příkazu:

/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin

Budete požádáni o zadání uživatelského jména a hesla správce pro aktivaci HTTPS:

Enter admin user name>  admin
Enter admin password for user "admin"> 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

Nakonec restartujte službu Glassfish, aby se změny projevily:

systemctl restart glassfish

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Přístup k webovému rozhraní GlassFish

V tomto okamžiku je Glassfish nainstalován a spuštěn. Ve výchozím nastavení naslouchá webové rozhraní Glassfish na portu 8080 zatímco administrátorské rozhraní naslouchá na portu 4848 . Nejprve přejděte do webového rozhraní Glassfish pomocí adresy URL http://ip-ip-vašeho-serveru:8080 . Měli byste vidět následující stránku:

Dále přejděte do administrátorského rozhraní Glassfish pomocí adresy URL https://ip-ip-vašeho-serveru:4848 . Budete přesměrováni na přihlašovací stránku Glassfish:

Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit knoflík. Na následující stránce byste měli vidět rozhraní správce Glassfish:

Klikněte na server v levém podokně byste měli vidět následující obrazovku:

Odtud můžete restartovat, zastavit a prohlížet protokoly Glassfish.

Klikněte na Uzly v levém podokně byste měli vidět informace o uzlu Glassfish na následující obrazovce:

Nakonfigurujte Nginx jako reverzní proxy pro Glassfish

Je dobré nakonfigurovat Nginx jako reverzní proxy pro přístup k webovému rozhraní Glassfish. Ke své aplikaci tak můžete přistupovat bez použití portu 8080 .

Chcete-li tak učinit, nejprve nainstalujte balíček Nginx pomocí následujícího příkazu:

apt-get install nginx -y

Po instalaci vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí příkazu níže:

nano /etc/nginx/conf.d/glassfish.conf

Přidejte následující řádky:

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/;
  }
}

Uložte a zavřete soubor a poté pomocí následujícího příkazu ověřte, zda Nginx neobsahuje nějakou chybu syntaxe:

nginx -t

Pokud je vše v pořádku, dostanete následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Poté restartujte službu Nginx, aby se změny aplikovaly:

systemctl restart nginx

Stav Nginx můžete také zkontrolovat pomocí následujícího příkazu:

systemctl status nginx

Měli byste získat následující výstup:

? 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 Sun 2021-11-07 05:02:58 UTC; 22s ago
       Docs: man:nginx(8)
    Process: 6790 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 6791 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 6873 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 5.1M
        CPU: 53ms
     CGroup: /system.slice/nginx.service
             ??6873 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??6875 nginx: worker process
             ??6876 nginx: worker process

Nov 07 05:02:58 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 07 05:02:58 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

V tomto okamžiku je Nginx nainstalován a nakonfigurován pro obsluhu webového rozhraní Glassfish. Nyní máte přístup k webovému rozhraní Glassfish pomocí adresy URL http://glassfish.example.com .

Závěr

Gratulujeme! úspěšně jste nainstalovali server Glassfish s Nginx jako reverzní proxy na Debian 11. Nyní můžete začít nasazovat svou aplikaci založenou na Javě na serveru Glassfish. Pokud máte nějaké dotazy, neváhejte se mě zeptat.


Debian
  1. Jak nainstalovat Odoo 11 na CentOS 7 s Nginx jako reverzní proxy

  2. Jak nainstalovat Flectru na CentOS 8 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 14 na CentOS 8 s Nginx jako reverzní proxy

  1. Jak nainstalovat Odoo 10 na CentOS 7 s Nginx jako reverzní proxy

  2. Jak nainstalovat Odoo 11 na Ubuntu 16.04 s Nginx jako reverzní proxy

  3. Nainstalujte Odoo na Debian 8 VPS s Nginx jako reverzní proxy

  1. Jak nainstalovat Odoo 10 na Ubuntu 16.04 s Nginx jako reverzní proxy

  2. Jak nainstalovat Odoo 11 na Debian 9 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 12 na Debian 10 s Nginx jako reverzní proxy