OPERATING SYSTEMSOS Linux

How to Install Apache Tomcat with Nginx Reverse Proxy on Ubuntu 22.04

Apache Tomcat is an open-source Java web server and Servlet container used to host web applications written in Java. It is the first choice of web developers to build and maintain dynamic websites and applications based on the Java software platform. It is an open-source project developed by the Apache Software Foundation. Tomcat enables a webserver to handle dynamic Java-based web content.

This tutorial will show you how to install Apache Tomcat on Ubuntu 22.04.

Useful Links:
VPS/VDS – https://www.mivocloud.com/
TomCat Version – https://tomcat.apache.org/download-10.cgi

WARNING – ANGLED BRACKETS AREN’T ALLOWED IN DESCRIPTION SO BE ATTENTIVE TO THE VIDEO IN NANO EDITOR

Commands Used:
apt install default-jdk -y
java -version
useradd -m -d /opt/tomcat -U -s /bin/false tomcat
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz
tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat –strip-components=1
chown -R tomcat:tomcat /opt/tomcat/
chmod -R u+x /opt/tomcat/bin
nano /opt/tomcat/conf/tomcat-users.xml

role rolename=”admin-gui” /
user username=”admin” password=”yourpassword” roles=”manager-gui,admin-gui” /

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

Valve className=”org.apache.catalina.valves.RemoteAddrValve”
allow=”127.d+.d+.d+|::1|0:0:0:0:0:0:0:1″ /

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

Valve className=”org.apache.catalina.valves.RemoteAddrValve”
allow=”127.d+.d+.d+|::1|0:0:0:0:0:0:0:1″ /

nano /etc/systemd/system/tomcat.service

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment=”JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64″
Environment=”JAVA_OPTS=-Djava.security.egd=file:///dev/urandom”
Environment=”CATALINA_BASE=/opt/tomcat”
Environment=”CATALINA_HOME=/opt/tomcat”
Environment=”CATALINA_PID=/opt/tomcat/temp/tomcat.pid”
Environment=”CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC”

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

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
systemctl status tomcat
apt-get install nginx -y
nano /etc/nginx/conf.d/tomcat.conf

server {
listen 80;

server_name tomcat.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/;
}
}

nginx -t
systemctl restart nginx
systemctl status nginx

source by MivoCloud

linux foundation