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!