Администрирование SMP и Tomcat. Linux
Все операции в консоли, не требующие привилегий root необходимо выполнять от имени пользователя ОС, от имени которого работает приложение (nausd4). В этом случае не возникнет проблем, вызванных отсутствием доступа к файлам или каталогам.
Установка Tomcat
-
Создайте каталоги для сохранения дистрибутива:
mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}
-
Скачайте Tomcat нужной версии. Требуемая версия Tomcat указана в разделе Условия эксплуатации.
В качестве примера приводится процедура установки версии 10.1.50:
wget -P /opt/naumen/deploy/$(date +'%F')/update/ https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.50/bin/apache-tomcat-10.1.50.tar.gz
-
Распакуйте архив в /opt/naumen:
tar -xaf /opt/naumen/deploy/$(date +'%F')/update/apache-tomcat-10.1.50.tar.gz -C /opt/naumen/
-
Создайте ссылку на каталог с Tomcat:
ln -snf /opt/naumen/apache-tomcat-10.1.50/ /opt/naumen/tomcat
-
Создайте структуру каталогов для инстанса Tomcat, в котором будет размещаться приложение:
mkdir -p /opt/naumen/nausd4/tomcat/{conf/Catalina/localhost,bin,lib,logs,webapps/ROOT,temp}
-
Скопируйте tomcat-juli.jar в каталог созданного инстанса Tomcat:
cp /opt/naumen/tomcat/bin/tomcat-juli.jar /opt/naumen/nausd4/tomcat/bin/
-
Скопируйте содержимое каталога с конфигурационными файлами в каталог созданного инстанса Tomcat:
cp /opt/naumen/tomcat/conf/* /opt/naumen/nausd4/tomcat/conf/
Проверка версии Tomcat
Версию Tomcat можно узнать выполнив следующую команду:
export JAVA_HOME=/opt/naumen/java && /opt/naumen/tomcat/bin/version.sh
Обновление Tomcat
Обновление Tomcat необходимо проводить при остановленном приложении SMP (сервис tomcat).
-
Создайте каталог для проведения обновления:
mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}
-
Скачайте Tomcat нужной версии. Требуемая версия Tomcat указана в разделе Условия эксплуатации. В качестве примера приводится процедура обновления с версии 10.1.14 на версию 10.1.50.
wget -P /opt/naumen/deploy/$(date +'%F')/update/ https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.50/bin/apache-tomcat-10.1.50.tar.gz
-
Скачайте преднастроенные файлы server.xml и setenv.sh для этой версии Tomcat с сайта NAUMEN (ссылка для скачивания) в каталог update.
-
Распакуйте архив с дистрибутивом Tomcat в /opt/naumen:
tar -xaf /opt/naumen/deploy/$(date +'%F')/update/apache-tomcat-10.1.50.tar.gz -C /opt/naumen/
-
Сделайте резервные копии файлов:
-
setenv.sh:
cp /opt/naumen/nausd4/tomcat/bin/setenv.sh /opt/naumen/deploy/$(date +'%F')/backup/
-
server.xml:
cp /opt/naumen/nausd4/tomcat/conf/server.xml /opt/naumen/deploy/$(date +'%F')/backup/
-
-
Создайте ссылку на каталог с Tomcat новой версии:
ln -snf /opt/naumen/apache-tomcat-10.1.50/ /opt/naumen/tomcat
-
Скопируйте новый tomcat-juli.jar:
cp /opt/naumen/tomcat/bin/tomcat-juli.jar /opt/naumen/nausd4/tomcat/bin/
-
Если обновление осуществляется на более высокую мажорную версию (изменяется первая или вторая цифра версии Tomcat), то скопируйте конфигурационные файлы новой версии Tomcat в каталог инстанса Tomcat приложения:
cp /opt/naumen/tomcat/conf/* /opt/naumen/nausd4/tomcat/conf/
-
Перенесите в server.xml для новой версии Tomcat настройки HTTP-коннектора из соответствующего файла, который использовался до выполнения обновления.
-
Скопируйте новый файл server.xml в каталог инстанса Tomcat, используемого приложением:
cp /opt/naumen/deploy/$(date +'%F')/update/server.xml /opt/naumen/nausd4/tomcat/conf/
-
Переместите каталог старой версии Tomcat в каталог backup:
mv /opt/naumen/apache-tomcat-10.1.14/ /opt/naumen/deploy/$(date +'%F')/backup/
Откат обновления Tomcat
Откат обновления Tomcat необходимо проводить при остановленном приложении SMP (сервис tomcat).
В качестве примера приводится процедура отката с версии 10.1.50 на версию 10.1.14.
-
Восстановите из резервной копии каталог версии Tomcat:
cp -r /opt/naumen/deploy/<Дата обновления>/backup/apache-tomcat-10.1.14/ /opt/naumen/
-
Создайте ссылку на каталог с Tomcat восстанавливаемой версии:
ln -snf /opt/naumen/apache-tomcat-10.1.14/ /opt/naumen/tomcat
-
Если производится откат обновления с более высокой мажорной версии (изменяется первая или вторая цифра версии Tomcat), то скопируйте конфигурационные файлы восстанавливаемой версии Tomcat в каталог инстанса Tomcat приложения
cp /opt/naumen/tomcat/conf/* /opt/naumen/nausd4/tomcat/conf/
-
Восстановите резервные копии файлов:
-
setenv.sh:
cp /opt/naumen/deploy/<Дата обновления>/backup/setenv.sh /opt/naumen/nausd4/tomcat/bin/
-
server.xml
cp /opt/naumen/deploy/<Дата обновления>/backup/server.xml /opt/naumen/nausd4/tomcat/conf/
-
-
Скопируйте tomcat-juli.jar:
cp /opt/naumen/tomcat/bin/tomcat-juli.jar /opt/naumen/nausd4/tomcat/bin/
-
Удалите каталог версии Tomcat, с которой производится откат:
rm -rf /opt/naumen/apache-tomcat-10.1.50/
Установка SMP
Для работы приложения SMP на сервере должны быть установлены:
- JDK (Установка JDK);
- Tomcat (Установка Tomcat).
Дистрибутив SMP представляет собой файл формата Web Application Resource с расширением war: sdng-war-x.x.x.x.war .
-
Создайте каталоги для сохранения дистрибутива:
mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}
-
Поместите в каталог update файл sdng-war-x.x.x.x.war (ссылку для скачивания можно получить по запросу у вашего персонального менеджера).
-
Выполните контроль целостности war-файла путем сравнения его хэш-суммы SHA-1 с хэш-суммой, полученной вместе с дистрибутивом у вашего менеджера. Вычислить хэш-сумму по алгоритму SHA-1 можно при помощи следующей команды:
sha1sum /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war
Если вычисленная хэш-сумма не соответствует предоставленной, то проводить обновление этим дистрибутивом нельзя.
-
Скачайте с сайта NAUMEN и поместите в каталог update подготовленные шаблоны файлов конфигурации:
-
Tomcat (ссылка для скачивания):
-
server.xml — параметры web-сервера Tomcat;
-
setenv.sh — параметры виртуальной машины java и окружения работы SMP;
-
tomcat.service — файл определения параметров сервиса Tomcat.
-
-
SMP (ссылка для скачивания):
- dbaccess.properties — основной конфигурационный файл приложения;
- log4j2.properties — файл конфигурации логирования приложения;
- file-storage.xml — файл настроек файлового хранилища;
- ldap-settings.xml — файл настроек ldap аутентификации.
-
-
Создайте структуру каталогов приложения:
mkdir -p /opt/naumen/nausd4/{conf,logs,data}
-
Скопируйте war файл в каталог инстанса Tomcat приложения:
cp /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war /opt/naumen/nausd4/tomcat/webapps/sd.war
-
Скопируйте файлы конфигурации:
-
Задайте переменную, содержащую путь к каталогу с файлами для установки:
update_path=/opt/naumen/deploy/$(date +'%F')/update
-
dbaccess.properties:
cp $update_path\/dbaccess.properties /opt/naumen/nausd4/conf/
-
log4j2.properties:
cp $update_path\/log4j2.properties /opt/naumen/nausd4/conf/
-
server.xml:
cp $update_path\/server.xml /opt/naumen/nausd4/tomcat/conf/
-
setenv.sh:
cp $update_path\/setenv.sh /opt/naumen/nausd4/tomcat/bin/
Если путь установки приложения отличается от приведенного в настоящем руководстве (/opt/naumen), то в файле setenv.sh необходимо скорректировать пути, указаныне в переменных:
- JAVA_HOME=/opt/naumen/java
- NAUMEN_OPTS параметр -Dext.prop.dir=/opt/naumen/nausd4/conf. -
-
Пропишите параметры подключения к базе данных и базовую ссылку на приложение в dbaccess.properties (примеры определения параметров приведены в шаблоне). Подробное описание параметров, определяемых в dbaccess.properties, приведено в разделе dbaccess.properties:
- db.driver;
- db.url;
- db.user;
- db.password;
- hibernate.dialect;
- hibernate.default_schema;
- baseurl.
-
В log4j2.properties пропишите основные параметры логирования. Подробное описание параметров, определяемых в log4j2.properties, приведено в разделе log4j2.properties:
- property.logbasepath — путь к основному логу приложения
- property.archivelogmaxage — количество логов, которые нужно хранить.
-
Задайте объем выделенной приложению памяти в файле /opt/naumen/nausd4/tomcat/bin/setenv.sh:
- -Xms — стартовый размер области Heap;
- -Xmx — максимальный размер области Heap.
Подробное описание параметров в блоке Java Options приведено в разделе Конфигурация производительности Java-машины.
-
Задайте HTTP-порт tomcat в файле /opt/naumen/nausd4/tomcat/bin/setenv.sh, где HTTP_PORT — порт, на который Tomcat принимает http-запросы.
Убедитесь, что указанный порт не занят на сервере. Рекомендуется оставить порт таким, как он определен в шаблоне.
-
Создайте сервис Tomcat.
-
Скопируйте файл сервиса Tomcat:
sudo cp /opt/naumen/deploy/$(date +'%F')/update/tomcat.service /etc/systemd/system/tomcat.service
-
Перечитайте файлы systemd:
sudo systemctl daemon-reload
-
Команда включает автозапуск сервиса при загрузке сервера. Если вам это не нужно, не выполняйте ее.
sudo systemctl enable tomcat
Описание сервиса в данном файле корректно для случая установки приложения согласно данному руководству: сервис работает от имени пользователя nausd4, пути установки соответствуют рекомендациям данного руководства.
-
-
Настройте возможность пользователю nausd4 управлять сервисом Tomcat:
cat <<EOF | sudo tee /etc/sudoers.d/nausd4 nausd4 ALL=(root) NOPASSWD: /bin/systemctl * tomcat* EOF
Обновление SMP
Обновление версии SMP заключается в замене файла /opt/naumen/nausd4/tomcat/webapps/sd.war (важно сохранить имя файла).
Выполняется при остановленном приложении.
Для возможности отката версии SMP до начала обновления должны быть сделаны резервные копии всех изменяющихся в рамках обновления компонентов:
- Создание резервной копии БД
- Создание резервной копии SMP
JDK и Tomcat должны иметь версии, соответствующие условиям эксплуатации для новой версии SMP. В случае несоответствия обновите их.
- Условия эксплуатации
-
Проверка версии JDK
- Проверка версии Tomcat
- Обновление JDK
- Обновление Tomcat
-
Создайте каталог для проведения обновления:
mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}
-
Поместите в каталог update файл sdng-war-x.x.x.x.war (ссылку для скачивания можно получить по запросу у вашего персонального менеджера).
-
Выполните контроль целостности war-файла путем сравнения его хэш-суммы SHA-1 с хэш-суммой, полученной вместе с дистрибутивом у вашего менеджера. Вычислить хэш-сумму по алгоритму SHA-1 можно при помощи следующей команды:
sha1sum /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war
Если вычисленная хэш-сумма не соответствует предоставленной, то проводить обновление этим дистрибутивом нельзя.
-
Удалите из каталога webapps инстанса Tomcat приложения каталог sd и файл sd.war:
rm -rf /opt/naumen/nausd4/tomcat/webapps/sd*
-
Скопируйте war файл новой версии в каталог инстанса Tomcat приложения:
cp /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war /opt/naumen/nausd4/tomcat/webapps/sd.war
На момент запуска приложения при обновлении в каталоге /opt/naumen/nausd4/tomcat/webapps/ должен находиться один файл sd.war новой версии (файл sd.war и каталог sd предыдущей версии должны быть удалены).
Каталог /opt/naumen/nausd4/tomcat/webapps/ROOT при обновлении версии SMP необходимо оставить на месте.
Откат обновления SMP
Выполняется при остановленном приложении.
JDK и Tomcat должны иметь версии, соответствующие условиям эксплуатации для восстанавливаемой версии SMP. В случае несоответствия выполните откат их обновления.
- Условия эксплуатации
-
Проверка версии JDK
- Проверка версии Tomcat
- Откат обновления JDK
- Откат обновления Tomcat
-
Удалите из каталога webapps инстанса Tomcat приложения каталог sd и файл sd.war:
rm -rf /opt/naumen/nausd4/tomcat/webapps/sd*
-
Восстановите из резервных копий, сделанных при обновлении файлы и базу данных:
-
Восстановите базу данных из резервной копии (см. Создание резервной копии БД).
-
Восстановите резервную копию файла sd.war:
cp /opt/naumen/deploy/<Дата обновления>/backup/sd.war /opt/naumen/nausd4/tomcat/webapps/
-
Восстановите резервные копии файлов конфигурации:
cp /opt/naumen/deploy/<Дата обновления>/backup/conf/* /opt/naumen/nausd4/conf/
-
На момент запуска приложения после отката обновления в каталоге /opt/naumen/nausd4/tomcat/webapps/ должен находиться один файл sd.war и каталог sd предыдущей версии (файл sd.war и каталог sd новой версии должны быть удалены).
Каталог /opt/naumen/nausd4/tomcat/webapps/ROOT при откате версии SMP необходимо оставить на месте.