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
by MivoCloud
linux foundation