GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare Tomcat con Nginx come proxy inverso su Ubuntu 18.04

Apache Tomcat è un'implementazione open source delle tecnologie Java Servlet e JSP che possono essere utilizzate per distribuire applicazioni basate su Java. È stato creato nell'ambito del sottoprogetto Apache-Jakarta, ma a causa della sua popolarità ora è ospitato come un progetto Apache separato. Tomcat fornisce inoltre funzionalità aggiuntive che semplificano lo sviluppo di una soluzione completa di applicazioni Web. Tomcat è semplice, facile da usare e uno dei server Web più utilizzati al mondo.

Se stai cercando di eseguire applicazioni basate su Java che funzionino senza interruzioni e velocemente, Apache Tomcat è la scelta migliore per te.

In questo tutorial impareremo come installare e configurare Apache Tomcat con Nginx come proxy inverso su Ubuntu 18.04 VPS.

Prerequisiti

  • Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
  • Un nome di dominio valido puntato al tuo indirizzo IP VPS. In questo tutorial utilizzeremo example.com.

Nota :puoi fare riferimento alla Guida DNS Atlantic per gestire i record DNS.

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Fase 2 – Installa Java

Apache Tomcat è un'applicazione basata su Java, quindi Java deve essere installato sul tuo sistema. Puoi installare l'ultima versione di Java con il seguente comando:

apt-get install default-jdk -y

Dopo aver installato Java, verifica la versione Java con il seguente comando:

java --version

Dovresti ottenere il seguente output:

Fase 4:crea un utente Tomcat

Successivamente, dovrai creare un utente e un gruppo Tomcat per eseguire il servizio Tomcat.

Innanzitutto, crea un gruppo con il nome tomcat utilizzando il seguente comando:

groupadd tomcat

Quindi, crea un nuovo utente Tomcat e rendi questo utente membro del gruppo Tomcat con una directory home /home/tomcat.

useradd -s /bin/false -g tomcat -d /home/tomcat tomcat

A questo punto viene creato l'utente Tomcat.

Fase 5:scarica Tomcat

Per prima cosa, visita la pagina di download di Apache Tomcat. Dovresti vedere la seguente schermata:

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

wget http://www.mirrorservice.org/sites/ftp.apache.org/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31-fulldocs.tar.gz

Dopo aver scaricato Apache Tomcat, estrai il file scaricato con il seguente comando:

tar -xvzf apache-tomcat-9.0.31-fulldocs.tar.gz

Quindi, sposta la directory estratta in /home/tomcat come mostrato di seguito:

mv tomcat-9.0-doc /home/tomcat

Quindi, cambia la proprietà della directory /home/tomcat in tomcat e concedi le autorizzazioni appropriate con il seguente comando:

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

Fase 6:crea un file di unità di sistema per Tomcat

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

nano /etc/systemd/system/tomcat.service

Aggiungi le seguenti righe:

[Unit]
Description=Tomcat 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=/home/tomcat"
Environment="CATALINA_HOME=/home/tomcat"
Environment="CATALINA_PID=/home/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/home/tomcat/bin/startup.sh
ExecStop=/home/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 dopo il riavvio del sistema:

systemctl start tomcat
systemctl enable tomcat

Puoi anche controllare lo stato del servizio Tomcat con il seguente comando:

systemctl status tomcat

Dovresti vedere il seguente output:

● tomcat.service - Tomcat servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-11-28 05:15:32 UTC; 7s ago
  Process: 6044 ExecStart=/home/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 6053 (java)
    Tasks: 43 (limit: 1150)
   CGroup: /system.slice/tomcat.service
           └─6053 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/home/tomcat/conf/logging.properties -Djava.util.logging.m

Nov 28 05:15:32 ubuntu1804 systemd[1]: Starting Tomcat servlet container...
Nov 28 05:15:32 ubuntu1804 startup.sh[6044]: Tomcat started.
Nov 28 05:15:32 ubuntu1804 systemd[1]: Started Tomcat servlet container.

Passaggio 7:accedere all'interfaccia Web Tomcat

Tomcat è ora installato e in esecuzione sulla porta 8080. Puoi verificare la porta Tomcat con il seguente comando:

netstat -ant

Dovresti vedere il seguente output:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
tcp6       0      0 :::8009                 :::*                    LISTEN    
tcp6       0      0 :::8080                 :::*                    LISTEN    
tcp6       0      0 :::22                   :::*                    LISTEN    
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN

Ora apri il tuo browser web e visita l'URL http://your-server-ip:8080 . Dovresti vedere la pagina Web predefinita di Tomcat:

Passaggio 8:configurazione dell'interfaccia di gestione Web Tomcat

Successivamente, dovrai aggiungere un login per accedere all'applicazione Web del gestore.

Puoi aggiungere un utente per accedere a manager-gui e admin-gui modificando il file tomcat-users.xml:

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

Aggiungi le seguenti righe sopra la riga :

<role rolename="manager-gui"/>
<user username="tomcat1" password="s3cret" roles="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="s3cret" roles="admin-gui"/>

Salva e chiudi il file quando hai finito.

Per rimuovere la restrizione per l'app Manager, modifica il file context.xml come mostrato di seguito:

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

Commenta la sezione Valve come mostrato di seguito:

<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|223.184.194.44" />
-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$
</Context>

Salva e chiudi il file.

Per rimuovere la restrizione per l'app Host Manager, modifica il file context.xml come mostrato di seguito:

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

Commenta la sezione Valve come mostrato di seguito:

<Context antiResourceLocking="false" privileged="true" >
<!--

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

  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$
</Context>

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Tomcat per applicare le modifiche:

systemctl restart tomcat

Ora apri il tuo browser web e digita l'URL http://your-server-ip:8080 . Dovresti vedere la seguente pagina:

Ora, fai clic su Gestione app/Gestione host pulsante. Ti verrà richiesto il nome utente e la password dell'amministratore. Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere l'app Manager/Gestione host nella pagina seguente:

Passaggio 9:configurare il proxy Nginx per Tomcat

Innanzitutto, installa il server web Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato, crea un nuovo file di configurazione dell'host virtuale per Tomcat.

nano /etc/nginx/sites-available/tomcat.conf

Aggiungi le seguenti righe:

server {
  listen 80;

  server_name    example.com;
  access_log /var/log/nginx/tomcat-access.log;
  error_log /var/log/nginx/tomcat-error.log;

  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 abilita il file host virtuale Nginx e riavvia il server web Nginx per applicare la configurazione:

ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Ora puoi accedere alla tua interfaccia web Tomcat utilizzando l'URL http://example.com .

Conclusione

Congratulazioni! L'installazione di Tomcat è ora completata. Spero che ora tu abbia abbastanza conoscenze per distribuire la tua applicazione basata su Java sul server Tomcat. Per ulteriori informazioni, visita la documentazione ufficiale Tomcat su Tomcat Doc. Prova Tomcat oggi con VPS Hosting di Atlantic.Net!


Linux
  1. Come configurare un proxy inverso Nginx

  2. Come configurare Nginx come proxy inverso su Ubuntu 20.04

  3. Come installare Odoo 10 su Ubuntu 16.04 con Nginx come proxy inverso

  4. Come installare Flectra su Ubuntu 20.04 con Nginx come proxy inverso

  5. Come installare Odoo 12 su Ubuntu 18.04 con Nginx come proxy inverso

Come configurare Nginx come proxy inverso per Apache su Ubuntu 18.04 VPS

Come configurare un server Seafile con Nginx su Ubuntu 18.04

Come installare Bludit CMS con NGINX su Ubuntu 20.04

Come installare Talkyard Forum con Nginx su Ubuntu 18.04

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx