GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Apache Tomcat 9 con Nginx Proxy su Debian 10

Tomcat è un server di applicazioni gratuito, open source e leggero utilizzato per distribuire applicazioni basate su Java. Può essere utilizzato come server autonomo o combinato con altri server come Apache e Nginx. Fornisce la funzionalità estesa per interagire con i servlet Java e implementa anche diverse specifiche tecniche della piattaforma Java. Attualmente, Tomcat è uno dei server di applicazioni più utilizzati per Java.

In questo tutorial, ti mostrerò come installare Tomcat 9 con Nginx su Debian 10.

Prerequisiti

  • Un server che esegue Debian 10.
  • Un nome di dominio valido puntato all'IP del tuo server.
  • Sul tuo server è configurata una password di root.

Per iniziare

Prima di iniziare, è una buona idea aggiornare la cache APT all'ultima versione. Puoi aggiornarlo eseguendo il seguente comando:

apt-get update -y

Una volta che la cache del pacchetto di sistema è aggiornata, puoi procedere al passaggio successivo.

Installa Java

Tomcat è un'applicazione basata su Java, quindi Java deve essere installato nel tuo server. Se non è installato, puoi installarlo con il seguente comando:

apt-get install default-jdk -y

Una volta installato Java, è possibile verificare la versione Java con il seguente comando:

java --version

Dovresti ottenere il seguente output:

openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)

Una volta terminato, puoi procedere al passaggio successivo.

Installa Tomcat

Innanzitutto, dovrai creare un utente dedicato per eseguire il server Tomcat. Puoi crearlo con il seguente comando:

useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Quindi, scarica l'ultima versione di Tomcat utilizzando il seguente comando:

wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

Una volta completato il download, estrai il file scaricato con il seguente comando:

tar -xvzf apache-tomcat-9.0.45.tar.gz

Quindi, sposta la directory estratta in /opt con il seguente comando:

mv apache-tomcat-9.0.45 /opt/tomcat/tomcat

Quindi, imposta l'autorizzazione e la proprietà appropriate con il seguente comando:

chown -R tomcat:tomcat /opt/tomcat/tomcat
chmod -R 755 /opt/tomcat/tomcat

Una volta terminato, puoi procedere al passaggio successivo.

Crea un file di servizio Systemd per Tomcat

Successivamente, dovrai creare un file di servizio systemd per gestire il servizio Tomcat. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/tomcat.service

Aggiungi le seguenti righe:

[Unit]
Description=Tomcat 9.0 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/tomcat"
Environment="CATALINA_HOME=/opt/tomcat/tomcat"
Environment="CATALINA_PID=/opt/tomcat/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio Tomcat e abilitalo all'avvio al riavvio del sistema con il seguente comando:

systemctl start tomcat
systemctl enable tomcat

Puoi anche verificare lo stato di Tomcat con il seguente comando:

systemctl status tomcat

Dovresti ottenere il seguente output:

? tomcat.service - Tomcat 9.0 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-04-14 05:41:21 UTC; 42s ago
  Process: 5784 ExecStart=/opt/tomcat/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5791 (java)
    Tasks: 30 (limit: 4701)
   Memory: 159.1M
   CGroup: /system.slice/tomcat.service
           ??5791 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/tomcat/conf/logging.properties -Djava.util.log

Apr 14 05:41:21 debian systemd[1]: Starting Tomcat 9.0 servlet container...
Apr 14 05:41:21 debian startup.sh[5784]: Tomcat started.
Apr 14 05:41:21 debian systemd[1]: Started Tomcat 9.0 servlet container.

Una volta terminato, puoi procedere al passaggio successivo.

Configura interfaccia Web Tomcat

Successivamente, dovrai definire un utente per accedere all'interfaccia web di Tomcat. Puoi definirlo usando il file tomcat-users.xml:

nano /opt/tomcat/tomcat/conf/tomcat-users.xml

Trova la sezione e aggiungi o modifica le seguenti righe:

  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <user username="tomcatadmin" password="password" roles="admin-gui,manager-gui"/>

Salva e chiudi il file quando hai finito.

Per impostazione predefinita, l'interfaccia Web Tomcat è configurata per accedere solo da localhost. Quindi dovrai configurarlo per l'accesso esterno.

Per l'app Manager, modifica la riga seguente:

nano /opt/tomcat/tomcat/webapps/manager/META-INF/context.xml

Per l'app Host Manager, modifica il seguente file:

nano /opt/tomcat/tomcat/webapps/host-manager/META-INF/context.xml

Rimuovere la seguente riga:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Salva e chiudi il file, quindi riavvia il servizio Tomcat per applicare le modifiche:

systemctl restart tomcat

Una volta terminato, puoi procedere al passaggio successivo.

Configura Nginx per Tomcat

Successivamente, dovrai installare e configurare Nginx come proxy inverso per Tomcat. Innanzitutto, installa il pacchetto Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato Nginx, dovrai creare un nuovo file di configurazione dell'host virtuale Nginx per Tomcat. Puoi crearlo usando il seguente comando:

nano /etc/nginx/conf.d/tomcat.conf

Aggiungi le seguenti righe:

server {
  listen          80;
  server_name     tomcat.example.com;
  root            /opt/tomcat/tomcat/webapps/;


  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://127.0.0.1:8080/;
  }
}

Salva e chiudi il file, quindi verifica Nginx per eventuali errori di sintassi:

nginx -t

Dovresti vedere il seguente output:

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

Quindi, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Successivamente, verifica lo stato del servizio Nginx con il seguente comando:

systemctl status nginx

Dovresti vedere il seguente output:

? 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 Wed 2021-04-14 05:57:03 UTC; 1min 38s ago
     Docs: man:nginx(8)
  Process: 6852 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6853 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6854 (nginx)
    Tasks: 3 (limit: 4701)
   Memory: 4.0M
   CGroup: /system.slice/nginx.service
           ??6854 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6855 nginx: worker process
           ??6856 nginx: worker process

Apr 14 05:57:03 debian systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 14 05:57:03 debian systemd[1]: Started A high performance web server and a reverse proxy server.

A questo punto, Nginx è configurato per accedere a Tomcat. Ora puoi procedere al passaggio successivo.

Accedi all'interfaccia utente Web di Tomcat

Ora apri il tuo browser web e accedi all'interfaccia utente web di Tomcat utilizzando l'URL http://tomcat.example.com . Dovresti vedere la seguente pagina:

Fai clic su Gestore App , dovresti vedere la seguente pagina:

Fornisci il nome utente e la password dell'amministratore dell'app Manager e fai clic su Accedi pulsante. Dovresti vedere la seguente pagina:

Puoi anche fare clic su Gestione host per accedere all'app Host Manager come mostrato di seguito:

Conclusione

Congratulazioni! hai installato con successo Tomcat con Nginx come proxy inverso su Debian 10. Ora puoi distribuire facilmente la tua applicazione Java con Tomcat. Sentiti libero di chiedermi se hai domande.


Debian
  1. Come installare Apache ZooKeeper su Debian 10

  2. Come installare Apache Cassandra su Debian 11

  3. Come installare Yii Framework su un VPS Debian con Nginx

  4. Come installare Odoo 11 su Debian 9 con Nginx come proxy inverso

  5. Come installare Odoo 12 su Debian 10 con Nginx come proxy inverso

Come installare Symfony 5 Framework con Nginx su Debian 10

Come installare Apache Tomcat su Debian 11

Come installare phpMyAdmin con Nginx su Debian 11

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx

Come installare Apache Tomcat su Debian 10