Как перезапустить tomcat linux
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
Download the tomcat server as a tar.gz compressed file 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
5.2 Open the terminal console
Open the terminal and go to the folder where Tomcat is unzipped.
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.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
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:
* на момент обновления статьи, последняя версия была 10.
Копируем ссылку на архив tar.gz:
Используя скопированную ссылку, скачиваем архив на наш сервер:
Распаковываем содержимое архива в каталог /opt/tomcat:
tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components 1
Готово. Можно запустить сервер командой:
Наш сервер работает.
Посмотреть версию установленного программного обеспечения можно командой:
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:
Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.
Теперь переходим в раздел Manager App:
Мы должны увидеть раздел «Управление веб-приложениями Tomcat».
Host-Manager
В данном разделе можно управлять виртуальными серверами.
. и добавляем IP-адрес компьютера, с которого будем подключаться, например:
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к управлению виртуальными серверами.
Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:
Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».
Поменять порт
По умолчанию, Tomcat запускается на порту 8080. Чтобы сменить номер, открываем файл:
Как запустить Linux-сервер?
команда systemctl
- Запустите команду apache: $ sudo systemctl start apache2.service.
- остановить команду apache: $ sudo systemctl stop apache2.service.
- Команда перезапуска apache: $ sudo systemctl restart apache2.service.
- Команда 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?
Шаги
- Откройте командную строку.
- Введите команду, чтобы показать запущенные в данный момент службы.
- Найдите имя команды службы, которую вы хотите перезапустить.
- Введите команду перезапуска.
- Введите ваш пароль при появлении запроса.
Как запустить службу в Linux?
Я помню, что в свое время, чтобы запустить или остановить службу Linux, мне нужно было открыть окно терминала, перейти в /etc/rc.d/ (или /etc/init.d, в зависимости от того, какой дистрибутив я использовал), найдите службу и выполните команду /etc/rc.d/SERVICE start. останавливаться.
Как запустить службу в Linux?
Проверьте запущенные службы в Linux
- Проверить статус услуги. Сервис может иметь любой из следующих статусов:
- Запустите службу. Если служба не запущена, вы можете использовать команду службы для ее запуска.
- Используйте netstat, чтобы найти конфликты портов.
- Проверить статус xinetd.
- Проверить журналы.
- Следующие шаги.
Как установить Tomcat на мой сервер Linux?
Войдите на этот компьютер со своего SSH-терминала как пользователь sudo без полномочий root.
- Шаг 1. Обновите вашу систему CentOS.
- Шаг 2: Установите Java.
- Шаг 3. Создайте специального пользователя для Apache Tomcat.
- Шаг 4: Загрузите и установите последнюю версию Apache Tomcat.
- Шаг 5: Установите соответствующие разрешения.
- Шаг 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, которые могут вам понадобиться (модули).
Читайте также: