GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar Tomcat con Nginx como proxy inverso en Ubuntu 18.04

Apache Tomcat es una implementación de código abierto de las tecnologías Java Servlet y JSP que se puede utilizar para implementar aplicaciones basadas en Java. Fue creado bajo el subproyecto Apache-Jakarta, pero debido a su popularidad, ahora está alojado como un proyecto Apache separado. Tomcat también proporciona una funcionalidad adicional que facilita el desarrollo de una solución de aplicación web completa. Tomcat es simple, fácil de usar y uno de los servidores web más utilizados del mundo.

Si busca ejecutar aplicaciones basadas en Java que funcionen sin problemas y con rapidez, entonces Apache Tomcat es la mejor opción para usted.

En este tutorial, aprenderemos a instalar y configurar Apache Tomcat con Nginx como proxy inverso en Ubuntu 18.04 VPS.

Requisitos

  • Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
  • Un nombre de dominio válido apuntado a su dirección IP de VPS. En este tutorial, usaremos example.com.

Nota :Puede consultar la Guía de DNS de Atlantic para administrar los registros de DNS.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar Java

Apache Tomcat es una aplicación basada en Java, por lo que Java debe estar instalado en su sistema. Puede instalar la última versión de Java con el siguiente comando:

apt-get install default-jdk -y

Después de instalar Java, verifique la versión de Java con el siguiente comando:

java --version

Deberías obtener el siguiente resultado:

Paso 4:crear un usuario de Tomcat

A continuación, deberá crear un usuario y un grupo de Tomcat para ejecutar el servicio Tomcat.

Primero, crea un grupo con el nombre tomcat usando el siguiente comando:

groupadd tomcat

A continuación, cree un nuevo usuario de tomcat y conviértalo en miembro del grupo de tomcat con un directorio de inicio /home/tomcat.

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

En este punto, se crea el usuario de Tomcat.

Paso 5:descarga Tomcat

Primero, visite la página de descarga de Apache Tomcat. Debería ver la siguiente pantalla:

A continuación, descargue la última versión de Apache Tomcat con el siguiente 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

Después de descargar Apache Tomcat, extraiga el archivo descargado con el siguiente comando:

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

A continuación, mueva el directorio extraído a /home/tomcat como se muestra a continuación:

mv tomcat-9.0-doc /home/tomcat

A continuación, cambie la propiedad del directorio /home/tomcat a tomcat y otorgue los permisos adecuados con el siguiente comando:

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

Paso 6:cree un archivo de unidad del sistema para Tomcat

A continuación, deberá crear un archivo de servicio systemd para ejecutar Tomcat como un servicio. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/tomcat.service

Agregue las siguientes líneas:

[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

Guarde y cierre el archivo. Luego, vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio Tomcat y habilítelo para que se inicie después de reiniciar el sistema:

systemctl start tomcat
systemctl enable tomcat

También puede verificar el estado del servicio Tomcat con el siguiente comando:

systemctl status tomcat

Debería ver el siguiente resultado:

● 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.

Paso 7:acceda a la interfaz web de Tomcat

Tomcat ahora está instalado y ejecutándose en el puerto 8080. Puede verificar el puerto de Tomcat con el siguiente comando:

netstat -ant

Debería ver el siguiente resultado:

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

Ahora, abra su navegador web y visite la URL http://your-server-ip:8080 . Debería ver la página web predeterminada de Tomcat:

Paso 8:configurar la interfaz de administración web de Tomcat

A continuación, deberá agregar un inicio de sesión para acceder a la aplicación web del administrador.

Puede agregar un usuario para acceder a manager-gui y admin-gui editando el archivo tomcat-users.xml:

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

Agregue las siguientes líneas encima de la línea :

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

Guarde y cierre el archivo cuando haya terminado.

Para eliminar la restricción de la aplicación Manager, edite el archivo context.xml como se muestra a continuación:

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

Comente la sección Válvula como se muestra a continuación:

<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>

Guarde y cierre el archivo.

Para eliminar la restricción de la aplicación Host Manager, edite el archivo context.xml como se muestra a continuación:

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

Comente la sección Válvula como se muestra a continuación:

<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>

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Tomcat para aplicar los cambios:

systemctl restart tomcat

Ahora, abre tu navegador web y escribe la URL http://your-server-ip:8080 . Debería ver la siguiente página:

Ahora, haga clic en Administrar aplicación/Administrar host botón. Se le pedirá el nombre de usuario y la contraseña del administrador. Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver la aplicación de administrador/Administrador de host en la siguiente página:

Paso 9:configurar el proxy Nginx para Tomcat

Primero, instale el servidor web Nginx con el siguiente comando:

apt-get install nginx -y

Una vez instalado, cree un nuevo archivo de configuración de host virtual para Tomcat.

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo, luego habilite el archivo de host virtual de Nginx y reinicie el servidor web de Nginx para aplicar la configuración:

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

Ahora, puede acceder a su interfaz web de Tomcat usando la URL http://example.com .

Conclusión

¡Felicidades! Su instalación de Tomcat ahora está completa. Espero que ahora tenga suficiente conocimiento para implementar su aplicación basada en Java en el servidor Tomcat. Para obtener más información, visite la documentación oficial de Tomcat en Tomcat Doc. ¡Pruebe Tomcat hoy con VPS Hosting de Atlantic.Net!


Linux
  1. Cómo configurar un proxy inverso Nginx

  2. Cómo configurar Nginx como proxy inverso en Ubuntu 20.04

  3. Cómo instalar Odoo 11 en Ubuntu 16.04 con Nginx como proxy inverso

  4. Cómo instalar Flectra en Ubuntu 20.04 con Nginx como proxy inverso

  5. Cómo instalar Odoo 12 en Ubuntu 18.04 con Nginx como proxy inverso

Cómo configurar Nginx como proxy inverso para Apache en Ubuntu 18.04 VPS

Cómo configurar un servidor Seafile con Nginx en Ubuntu 18.04

Cómo instalar Bludit CMS con NGINX en Ubuntu 20.04

Cómo instalar Talkyard Forum con Nginx en Ubuntu 18.04

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04 con Nginx

Cómo instalar Apache Tomcat 10 en Ubuntu 22.04 con Nginx