Установка
https://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.zip
Распаковать apache-tomcat-9.0.98.zip в /usr/share/tomcat9/
Запустить:
/usr/share/tomcat9/bin@ ./startup.sh
Открыть: http://192.168.1.20:8080/
http://localhost:8080/manager/html
Проверить с компьютера с Tomcat и удаленного компьютера: http://192.168.1.20:8080/
Остановить:
/usr/share/tomcat9/bin@./shutdown.sh
Настроить имя и пароль админов в файле /usr/share/tomcat9/conf/tomcat-users.xml:
```` <user username="admin" password="password" roles="manager-gui"/> <user username="vasi" password="password" roles="manager-script"/> ````
Настройка сервиса в linux и автозапуск
Файл /etc/init.d/tomcat9:
/etc/init.d# cat tomcat9
#!/bin/bash
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Tomcat at boot time
# Description: Start Tomcat at boot time
### END INIT INFO
export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
export CATALINA_HOME=/usr/share/tomcat9
export JAVA_OPTS="-Xms250m -Xmx1024m"
RETVAL=$?
case $1 in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
su -p -s /bin/sh tomcat $CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
Запуск сервиса:
$ systemctl daemon-reload
$ systemctl enable tomcat9.service
$ systemctl stop tomcat9.service
$ systemctl start tomcat9.service
$ systemctl status tomcat9.service
● tomcat9.service - LSB: Start Tomcat at boot time
Loaded: loaded (/etc/init.d/tomcat9; generated)
Active: active (exited) since Thu 2021-03-13 12:26:54 +05; 29min ago
Docs: man:systemd-sysv-generator(8)
Process: 1759603 ExecStart=/etc/init.d/tomcat9 start (code=exited, status=0/SUCCESS)
CPU: 10ms
Вопросы запуска java приложения через Tomcat или как executable приложения решает разработчик.