Как перезапустить tomcat linux

Обновлено: 06.07.2024

Apache Tomcat is a web server and servlet container that is used to serve Java applications. A servlet is a Java technology-based Web component, managed by a container, that generates dynamic content.

1. The tools

  • Debian based Linux distribution
  • Microsoft Windows
  • Java JDK
  • Apache Tomcat

2. Introduction

When you download Apache Tomcat binary distribution, you need to unzip the folder. Every time you are going to use the server, you need to start and stop its service manually.

Most of the time, is needed to start the server with the system. To start/stop/restart the server, Tomcat provide some utilities. In this example we are going to install tomcat as a service and use the utilities provided by Tomcat to start/stop/restart the tomcat service.

3. Prerequisites

4. Download Tomcat

    and download the tomcat server as a zip compressed file for windows.

1 Download Tomcat for Windows

1 Download Tomcat for Windows

Download the tomcat server as a tar.gz compressed file for Linux.

2 Download Tomcat for Linux

2 Download Tomcat for Linux

5. Tomcat in Windows

5.1 Unzip Tomcat

Unzip the tomcat downloaded zip in the folder you want to have it.

3 Unzip tomcat windows

3 Unzip tomcat windows

5.2 Open the terminal console

Open the terminal and go to the folder where Tomcat is unzipped.

4 Tomcat folder

4 Tomcat folder

5.3 Install service

go to the bin folder and type the command:

This command install the Tomcat service in Windows. You should get the following output

Install service output

5.4 Check service

You can check if the service is properly installed with the windows commands for services. Type the command

You should get an output similar to this:

sc query output

When you install the service, the service is stopped.

5.5 Start service

To start the service type this command:

Start tomcat service

You should get an output similar to this:

Start service output

It takes a while to start the service. Note that the status starts pending. You can check the service status with:

Wait until the service is started.

sc query output

5 Tomcat Welcome

5 Tomcat Welcome

5.6 Stop service

To stop the Tomcat service type this command:

Stop tomcat service

You should get an output similar to this:

Stop service output

It takes a while to stop the service. Note the status STOP_PENDING . You can check the service status with:

Wait until the service is stopped.

5.7 Autostart service

If you need to start the service when Windows start, type the following command:

You should get an output similar to this:

Autostart service output

Now restart the computer and check that Tomcat is starting when the system starts.

5.8 Remove service

If you need to remove the service, type the following command:

And you should get the following output:

Remove service output

6. Tomcat in Linux

Every Linux distribution has its own way to manage services. This procedure should work in deb based distributions. We are going to make this on Debian 8 Linux distribution.

6.1 Uncompress the tomcat folder

Open your Linux terminal.

6 Linux terminal

6 Linux terminal

Work as a superuser. Type the following command:

Superuser login
su
write your superuser password.

Copy the tomcat compressed file to the /opt directory.

Copy compressed file

go to the /opt directory.

Uncompress the tomcat file

6.2 Create the service script

To work with tomcat as a service in Linux, we are going to create a script for this purpose

Init scripts folder

In this folder create the file tomcat and give the appropriate permissions to the file.

Edit the file with your favorite editor.

6.3 Script content

6.3.1 Script header

The header of the script is very important because it is used by the system to properly execute the script.

6.3.2 Initialize variables

export CATALINA_HOME=/opt/apache-tomcat-8.0.33 Location of Tomcat directory.
export CATALINA_BASE=/opt/apache-tomcat-8.0.33 Location of Tomcat directory.

TOMCAT_USAGE="Usage: $0 <\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m>" Feedback message showed when you run the script without parameters
SHUTDOWN_WAIT=20 Waiting time to shutdown the server, to allow the server finish any pending tasks.

6.3.3 Print tomcat pid function

This function prints the tomcat process id using some terminal utilities.

echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s " "|cut -d" " -f2`
prints the tomcat process id.

6.3.4 Print tomcat status function

pid=$(tomcat_pid) Gets the tomcat pid.
if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" If the pid exists then tomcat is running.
else echo -e "\e[00;31mTomcat is not running\e[00m" Prints the tomcat is not running.

6.3.5 Start tomcat function

This function is running when you run the script with the start parameter.

pid=$(tomcat_pid) Gets the tomcat pid
if [ -n "$pid" ] If the pid exists.

echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m" The tomcat server is running.
echo -e "\e[00;32mStarting tomcat\e[00m" If the tomcat server is not running print the message that tomcat is starting.

sh $CATALINA_HOME/bin/startup.sh Run the startup script provided by tomcat.
status Print the status.

return 0 Return without errors.

6.3.6 Stop tomcat function

This function stops the Tomcat server

sh $CATALINA_HOME/bin/shutdown.sh Runs the script provided by tomcat to stop the server.
let kwait=$SHUTDOWN_WAIT Gets the timeout variable.

count=0; Initializes a counter.
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ] Checks if the pid still exist.

echo -n -e "\n\e[00;31mwaiting for processes to exit\e[00m"; Prints a waiting message.
sleep 1 Sleeps.

let count=$count+1; Updates the counter.
if [ $count -gt $kwait ]; then if the counter is equal to the waiting time.

echo -e "\e[00;31mTomcat is not running\e[00m" Prints a message that the server is not running.
return 0 Returns without errors.

6.3.7 Script main body

When we run the script the parameters are selected using a case statement, to choose the right option.

Script main body

case $1 in Examines the script parameter.
start) If the parameter is start.

start Starts the server.
stop) If the parameter is stop.

stop Stops the server.
restart) If the parameter is restart.

stop Stops the server.
start Start the server.

status) If the parameter is status.
status Prints the status.

*) If there is no parameters other any other parameter.
echo -e $TOMCAT_USAGE Prints the help message.

esac End the case statement.
exit 0 Exits without errors.

6.4 The complete Linux source code

6.5 Make the script run at boot

This command is used to make Linux aware to run the script at startup.

6.6 Linux results

6.6.1 Run script without arguments

We run the command without arguments

The script shows the help.

tomcat script output

6.6.2 Run script with status parameter

We run the script with the status parameter

If the service is running we get the following output:

tomcat status running output

If the service is not running we get the following output:

tomcat status not running output

6.6.3 Run script with start parameter

We run the script with the start parameter

If the server is running we get the output

tomcat start with server running output

If the server is not running we get the output

tomcat start with server not running output

6.6.4 Run script with stop parameter

We run the script with the stop parameter

If the server is running we get the output

tomcat stop with server running output

If the server is not running we get the output

tomcat stop with server not running output

6.6.5 Run script with restart parameter

We run the script with the restart parameter

If the server is running we get the output

tomcat restart with server running output

If the server is not running we get the output

tomcat restart with server not running output

7. Download the Source Code

This was an example of how to start and restart Tomcat server as a service.


Если у вас есть какие-либо из нижеперечисленных вопросов, то вы попали по адресу:

Я настроил tomcat as Windows Service , Запуск Tomcat в качестве службы Windows предоставляет ряд преимуществ, которые необходимы при переходе от настройки разработки к производственной среде .

Преимущество-1) Настройка надежного автоматического запуска при загрузке

  • Необходим в среде, где вы можете захотеть удаленно перезагрузить систему Java после технического обслуживания, не беспокоясь о том, вернется ли ваш сервер в оперативный режим.

Преимущество-2) Настройка запуска сервера Tomcat без входа активного пользователя

  • В центре обработки данных не стоит ожидать активного входа в систему от системы только для запуска Tomcat. Фактически Tomcat часто запускается на блейд-серверах, к которым может даже не подключаться активный монитор. Службы Windows принадлежат Системе и могут быть запущены без активного пользователя.

Выгода-3) Лучшая безопасность

Недавно я хотел start/stop Мой сервер Tomcat через командную строку, как хотел создать быстрый сценарий, чтобы сделать это. Официальная документация приведена ниже команд в виде // XX // ServiceName


Доступные параметры командной строки:

  • // TS // Запустите службу как консольное приложение. Это операция по умолчанию. Вызывается, если опция no указана. ServiceName - это имя исполняемого файла без суффикса exe, что означает Tomcat6
  • // RS // Запустить сервис Вызывается только из ServiceManager
  • // SS // Остановить службу
  • //НАС// Обновить параметры сервиса
  • //ЯВЛЯЕТСЯ// Установить сервис
  • // DS // Удалить службу Останавливает службу, если запущена

Но, скорее, делая это так, я обнаружил, что команды ниже очень полезны и просты.

Tomcat на Ubuntu не устанавливается из репозитория (в отличие от некоторых других дистрибутивов Linux, например, CentOS). Поэтому в данной инструкции мы выполним ручную установку — развертывание дополнительных компонентов (Java), загрузку и распаковку пакета веб-сервера Tomcat, а также настройку его автоматического запуска в случае сбоя или после перезагрузки системы. На момент обновления инструкции использовался Tomcat версии 10 и Ubuntu 20.04.

Подготовка системы

Обновляем список пакетов в репозиториях:

Задаем имя серверу:

Настраиваем часовой пояс, например:

timedatectl set-timezone Europe/Moscow

* где Europe/Moscow — московское время. Список всех возможных зон смотрим командой timedatectl list-timezones.

Устанавливаем сервис для автоматической синхронизации времени, а также разрешаем его автозапуск:

apt-get install chrony

systemctl enable chrony

Если мы используем брандмауэр, необходимо открыть порт 8080:

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

* 8080 — порт по умолчанию, на котором работает Tomcat. Если мы заходим поменять данный порт, то нужно будет открыть именно его.

Сохраняем правила — для этого устанавливаем утилиту iptables-persistent:

apt-get install iptables-persistent

Если в процессе установки мы отказались сохранять правила, выполняем команду:

Можно приступать к установке Java.

Подготовка к установке

Для работы веб-сервера нам необходимы Java и пользователь, под которым будет работать Tomcat.

Установка JAVA

Мы установим пакет openjdk. Для этого вводим команду:

apt-get install default-jdk

* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu.

Если в системе окажется несколько версий java, выберем последнюю. Для этого вводим команду:

update-alternatives --config java

. и выбираем в списке соответствующий вариант.

Проверяем используемую версию java:

Мы должны увидеть что-то на подобие:

openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)

Создание пользователя

Создаем пользователя командой:

useradd tomcat -U -s /bin/false -d /opt/tomcat -m

* в итоге будет создан пользователь tomcat со следующими опциями:

  • -U — также будет создана группа с таким же именем, что и пользователь.
  • -s /bin/false — запрещает пользователю интерактивный вход в систему.
  • -d /opt/tomcat — указывает путь до домашней директории пользователя.
  • -m — сразу создает домашнюю директорию пользователю.

Можно приступать к установке веб-сервера Apache Tomcat.

Установка Tomcat

Переходим на страницу официального сайта веб-сервера. В меню слева выбираем необходимую версию Tomcat:

Переходим на страницу загрузки последней версии Tomcat

* на момент обновления статьи, последняя версия была 10.

Копируем ссылку на архив tar.gz:

Копируем ссылку на архив tar.gz с веб-сервером

Используя скопированную ссылку, скачиваем архив на наш сервер:

Распаковываем содержимое архива в каталог /opt/tomcat:

tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components 1

Готово. Можно запустить сервер командой:

Стартовая страница Tomcat Server

Наш сервер работает.

Посмотреть версию установленного программного обеспечения можно командой:

java -cp /opt/tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

Мы должны увидеть что-то на подобие:

Настройка автозапуска

Для начала, остановим работу Tomcat:

Поменяем владельца для всех файлов в каталоге /opt/tomcat:

chown -R tomcat:tomcat /opt/tomcat

Создадим конфигурационный файл для нового юнита:

[Unit]
Description=Apache Tomcat Server
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 -Djava.awt.headless=true"
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
Restart=on-failure
RestartSec=10

* где обращаем внимание на:

  • User/Group — пользователь и группа пользователя, от чьего имени будет работать сервис.
  • Environment — переменные окружения. В нашем примере задается несколько для нормальной работы Java и Tomcat.
  • ExecStart/ExecStop — пути к скриптам, которые запускают или останавливают работу службы веб-сервера.
  • Restart/RestartSec — задают поведение сервиса при необходимости выполнить перезапуск. В нашем примере выполнять при сбое с интервалом в 10 секунд.

Из данных опций, возможно вам захочется поменять CATALINA_OPTS, например, задать другие значения для выделения памяти или указать определенный порт. Остальные опции можно оставить.

Перечитываем новый конфигурационный файл в systemd:

Стартуем наш сервис:

systemctl start tomcat

Проверяем, что он запустился и работает:

systemctl status tomcat

Мы должны увидеть что-то на подобие:

• tomcat.service - Apache Tomcat Server
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-09 10:30:25 UTC; 22h ago
Main PID: 14645 (java)

При необходимости перезапуска сервиса, можно будет использовать команду:

systemctl restart tomcat

Теперь открываем нашу страницу по IP-адресу сервера — мы снова должны увидеть стартовую страницу Tomcat.

Доступ к Managing Tomcat

Мы можем использовать веб-интерфейс для управления Tomcat. Для этого используются кнопки на стартовой странице:

  • Server Status
  • Manager App
  • Host Manager

По умолчанию, доступ закрыт в данные разделы. Пошагово, настроим доступ в каждый из них.

Создание служебного пользователя

Создаем пользователя, под которым мы будем авторизовываться в системе.

Внутрь раздела tomcat-users добавим:

* в данном примере мы создадим пользователя admin с паролем password и ролями admin-gui, manager-gui.

systemctl restart tomcat

Server Status и Manager App

Разделы позволяют получить доступ к статистике и управлению веб-приложениями. Они настраиваются вместе.

. и добавляем IP-адрес компьютера, с которого будем подключаться, например:

* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к статистике сервера и управлению веб-приложениями.

Пробуем зайти на стартовую страницу и перейти в раздел Server Status:

Server Status на стартовой странице Tomcat Server

Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.

Теперь переходим в раздел Manager App:

Manager App на стартовой странице Tomcat Server

Мы должны увидеть раздел «Управление веб-приложениями Tomcat».

Host-Manager

В данном разделе можно управлять виртуальными серверами.

. и добавляем IP-адрес компьютера, с которого будем подключаться, например:

* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к управлению виртуальными серверами.

Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:

Host Manager на стартовой странице Tomcat Server

Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».

Поменять порт

По умолчанию, Tomcat запускается на порту 8080. Чтобы сменить номер, открываем файл:


Как запустить Linux-сервер?

команда systemctl

  1. Запустите команду apache: $ sudo systemctl start apache2.service.
  2. остановить команду apache: $ sudo systemctl stop apache2.service.
  3. Команда перезапуска apache: $ sudo systemctl restart apache2.service.
  4. Команда apache2ctl может использоваться для остановки или запуска веб-сервера apache в любом дистрибутиве Linux или UNIX.

Как запустить Tomcat из командной строки?

Чтобы узнать, как запускать и останавливать Apache Tomcat из командной строки в среде Windows, выполните следующие пять шагов:

  • Запустите командную строку из меню «Пуск».
  • Перейдите в каталог bin Tomcat, например c: / Tomcat8 / bin:
  • Введите команду startup и нажмите Enter, чтобы выполнить сценарий запуска сервера Tomcat:

Как работает Apache Tomcat?

Tomcat в основном имеет иерархию загрузчиков классов и пул потоков. Когда веб-приложение развертывается в tomcat, tomcat сканирует веб-приложение, считывает его дескриптор развертывания (web.xml или аналогичный) и решает, что сервлеты (и JSP) необходимо развернуть и сделать доступными.

Для чего используется Apache Tomcat?

Как перезапустить службу Linux?

Шаги

  1. Откройте командную строку.
  2. Введите команду, чтобы показать запущенные в данный момент службы.
  3. Найдите имя команды службы, которую вы хотите перезапустить.
  4. Введите команду перезапуска.
  5. Введите ваш пароль при появлении запроса.

Как запустить службу в Linux?

Я помню, что в свое время, чтобы запустить или остановить службу Linux, мне нужно было открыть окно терминала, перейти в /etc/rc.d/ (или /etc/init.d, в зависимости от того, какой дистрибутив я использовал), найдите службу и выполните команду /etc/rc.d/SERVICE start. останавливаться.

Как запустить службу в Linux?

Проверьте запущенные службы в Linux

  • Проверить статус услуги. Сервис может иметь любой из следующих статусов:
  • Запустите службу. Если служба не запущена, вы можете использовать команду службы для ее запуска.
  • Используйте netstat, чтобы найти конфликты портов.
  • Проверить статус xinetd.
  • Проверить журналы.
  • Следующие шаги.

Как установить Tomcat на мой сервер Linux?

Войдите на этот компьютер со своего SSH-терминала как пользователь sudo без полномочий root.

  1. Шаг 1. Обновите вашу систему CentOS.
  2. Шаг 2: Установите Java.
  3. Шаг 3. Создайте специального пользователя для Apache Tomcat.
  4. Шаг 4: Загрузите и установите последнюю версию Apache Tomcat.
  5. Шаг 5: Установите соответствующие разрешения.
  6. Шаг 6. Настройте файл модуля Systemd для Apache Tomcat.

Как установить Tomcat на Linux Mint?

Как установить Tomcat 7.0.82 Server на Ubuntu, Debian и LinuxMint

  • Шаг 1 - Проверьте JAVA. Во-первых, нам нужно убедиться, что мы установили java в системе или.
  • Шаг 2 - Загрузите архив Tomcat 7.
  • Шаг 3 - Настройка переменной среды.
  • Шаг 4 - Запустите Tomcat.
  • Шаг 5 - Войдите в Tomcat.

Tomcat работает под управлением Linux?

Запуск и остановка в Linux. Вы должны увидеть несколько прокручиваемых процессов Java. Другой способ узнать, запущен ли Tomcat, - запросить веб-страницу с сервера через TCP-порт 8080.

Как перезагрузить компьютер с Linux?

Затем введите «/ sbin / shutdown -r сейчас». Для завершения всех процессов может потребоваться несколько секунд, после чего Linux выключится. Компьютер сам перезагрузится. Если вы находитесь перед консолью, более быстрая альтернатива этому - нажать - - выключить.

Что такое процесс в Linux?

Процессы в Linux / Unix. Программа / команда при выполнении, специальный экземпляр предоставляется системой процессу. Этот экземпляр состоит из всех сервисов / ресурсов, которые могут использоваться выполняемым процессом. Всякий раз, когда команда запускается в unix / linux, она создает / запускает новый процесс.

Что такое демоны в Linux?

Tomcat - это веб-сервер?

Tomcat - это веб-сервер и контейнер страниц сервлета / JavaServer. Он часто используется в качестве сервера приложений для строго веб-приложений, но не включает весь набор возможностей, которые может предоставить сервер приложений Java EE. Домашняя страница Apache Tomcat.

В чем разница между Apache и Tomcat?

Нужен ли мне Apache Tomcat?

Tomcat - это собственный веб-сервер, поэтому отдельный веб-сервер, такой как Apache, не требуется. Вы, вероятно, захотите изменить порт Tomcat, поскольку он по умолчанию 8080, а веб-сайты обычно находятся на порту 80. Обслуживайте статические файлы из Apache, чтобы снять нагрузку с Tomcat. Используйте другие функции Apache, которые могут вам понадобиться (модули).

Читайте также: