Как посмотреть версию wildfly
Перейти к содержимому

Как посмотреть версию wildfly

  • автор:

Перенос приложений WildFly в WildFly в Службе Azure Kubernetes

Из этого руководства вы узнаете, что следует учитывать при переносе приложения WildFly для запуска в WildFly в контейнере Службы Azure Kubernetes.

Эта статья содержит только общие советы. Ни Корпорация Майкрософт, ни Red Hat не предлагает поддержку WildFly, но сообщество WildFly может предложить помощь. Сведения о предложениях, совместно поддерживаемых Red Hat и Корпорацией Майкрософт, см. в статье Red Hat JBoss EAP в Azure.

Подготовка к миграции

Чтобы обеспечить успешную миграцию, перед ее началом выполните шаги оценки и инвентаризации, описанные в следующих разделах.

Проверка емкости сервера

Определите характеристики оборудования текущих рабочих серверов (показатели памяти, ЦП и диска), а также среднее и пиковое количество запросов и объем потребляемых ресурсов. Эти сведения понадобятся, независимо от выбранного пути миграции. Это полезно, например, чтобы помочь выбрать размер виртуальных машин в пуле узлов, объем памяти, который будет использоваться контейнером, и сколько ЦП разделяет потребности контейнера.

Можно изменить размер пулов узлов в AKS. Дополнительные сведения см. в разделе «Изменение размера пулов узлов» в Служба Azure Kubernetes (AKS).

Проверка всех секретов

Проверьте все свойства и файлы конфигурации на рабочих серверах на наличие секретов и паролей. Обязательно проверьте наличие файла jboss-web.xml в WAR-файлах. Кроме того, в приложении могут быть файлы конфигурации, содержащие пароли или учетные данные.

Мы рекомендуем хранить секреты в Azure KeyVault. См. основные понятия Azure Key Vault.

Проверка всех сертификатов

Определите все сертификаты, используемые для общедоступных конечных точек SSL. Вы можете просмотреть все сертификаты на рабочих серверах, выполнив следующую команду:

keytool -list -v -keystore

Проверка правильной работы поддерживаемой версии Java

Для работы WildFly в Службе Azure Kubernetes требуется определенная версия Java, поэтому вам нужно убедиться, может ли приложение правильно работать с этой поддерживаемой версией.

Эта проверка особенно важна, если на текущем сервере используется неподдерживаемая версия JDK (например, Oracle JDK или IBM OpenJ9).

Чтобы получить текущую версию Java, войдите на сервер в рабочей среде и выполните следующую команду:

java -version 

Проверка ресурсов JNDI

Проверьте все ресурсы JNDI. Для других ресурсов, таких как брокеры сообщений JMS, может потребоваться выполнить миграцию или перенастройку.

Определение того, используется ли репликация сеансов

Если приложение использует репликацию сеансов, вам потребуется удалить из него эту зависимость.

В приложении

Проверьте файл WEB-INF/jboss-web.xml и (или) WEB-INF/web.xml.

Определение источников данных

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

  • имя источника данных;
  • конфигурация пула подключений;
  • путь к JAR-файлу драйвера JDBC.

Дополнительные сведения см. в разделе DataSource Configuration (Конфигурация источников данных) в документации по WildFly.

Определение того, используется ли файловая система и как именно она используется

Для использования файловой системы на сервере приложений требуется перенастройка или, в редких случаях, изменение архитектуры. Файловая система может использоваться модулями WildFly или кодом приложения. Вы можете определить некоторые или все сценарии, описанные в следующих разделах.

Статическое содержимое только для чтения

Если ваше приложение сейчас обслуживает статическое содержимое, вам потребуется альтернативное расположение для этого статического содержимого. Вы можете переместить статическое содержимое в хранилище BLOB-объектов Azure и включить Azure CDN для быстрого скачивания в глобальном масштабе. Дополнительные сведения см. в статье «Размещение статических веб-сайтов» в служба хранилища Azure и кратком руководстве. Интеграция учетной записи хранения Azure с Azure CDN. Вы также можете напрямую развернуть статическое содержимое в приложении в плане Azure Spring Apps Enterprise. Дополнительные сведения см. в разделе «Развертывание статических веб-файлов».

Динамически опубликованное статическое содержимое

Если приложение допускает использование статического содержимого, которое передается или создается приложением и после этого становится неизменяемым, вы можете использовать хранилище BLOB-объектов Azure и Azure CDN, как описано выше, с Функциями Azure для выполнения отправки и обновления CDN. Практический пример реализации см. в руководстве по отправке и предварительной загрузке статического содержимого CDN с помощью Функций Azure. Вы также можете напрямую развернуть статическое содержимое в приложении в плане Azure Spring Apps Enterprise. Дополнительные сведения см. в разделе «Развертывание статических веб-файлов».

Динамическое или внутреннее содержимое

Для использования файлов, которые часто записываются и считываются приложением (например, временные файлы данных), или статических файлов, видимых только для вашего приложения, вы можете подключить общие папки службы хранилища Azure в качестве постоянных томов. См. сведения о динамическом создании и использовании постоянного тома с Файлами Azure в Службе Azure Kubernetes.

Определение того, использует ли приложение запланированные задания

Запланированные задания, такие как задачи Планировщика Поваренса или задания unix cron, не должны использоваться с Служба Azure Kubernetes (AKS). Служба Azure Kubernetes не будет препятствовать развертыванию приложения, содержащего запланированные задачи. Но если приложение масштабируется, одно запланированное задание может выполняться несколько раз в течение указанного периода. Это может привести к нежелательным последствиям.

Чтобы выполнить запланированные задания в кластере AKS, определите требуемые задания Kubernetes CronJobs. См. сведения о выполнении автоматизированных задач с помощью CronJob.

Определение того, нужно ли подключаться к локальной среде

Если вашему приложению требуется доступ к какой-либо из локальных служб, вам необходимо подготовить одну из служб подключения Azure. Дополнительные сведения см. в статье Выбор решения для подключения локальной сети к Azure. Кроме того, необходимо выполнить рефакторинг приложения, чтобы использовать общедоступные API-интерфейсы, предоставляемые локальными ресурсами.

Определение того, используются ли очереди или разделы Java Message Service (JMS)

Если приложение использует очереди или разделы JMS, их необходимо перенести на внешний сервер JMS. Использование Служебной шины Azure и Расширенного протокола управления очередью сообщений (AMQP) — это подходящая стратегия миграции для тех, кто работает с JMS. Сведения см. в руководстве по использованию JMS со Служебной шиной Azure и AMQP 1.0.

Если постоянные хранилища JMS настроены, вам нужно записать их конфигурацию и применить ее после миграции.

Определение того, использует ли приложение компоненты Entity Bean или bean-компоненты CMP в стиле EJB 2.x

Если ваше приложение использует компоненты Entity Bean или bean-компоненты CMP в стиле EJB 2.x, необходимо выполнить рефакторинг приложения, чтобы удалить эти зависимости.

Определение того, используется ли клиент приложения Java EE

Если у вас есть клиентские приложения, подключающиеся к серверному приложению с помощью клиента приложения Java EE, необходимо выполнить рефакторинг как клиентских приложений, так и серверного приложения для использования API HTTP.

Определение того, содержит ли приложение код, зависящий от ОС

Если приложение содержит код, зависящий от ОС узла, вам нужно выполнить рефакторинг кода для удаления этих зависимостей. Например, вам нужно заменить все символы / или \ , используемые в путях файловой системы, на File.Separator или Paths.get .

Определение того, используются ли таймеры EJB

Если приложение использует таймеры EJB, необходимо убедиться, что код таймера EJB может активироваться каждым экземпляром WildFly независимо друг от друга. Эта проверка необходима, так как в сценарии развертывания Службы Kubernetes Azure каждый таймер EJB будет активироваться в собственном экземпляре WildFly.

Определение того, используются ли соединители JCA

Если приложение использует соединители JCA, нужно проверить, можно ли использовать такой соединитель в WildFly. Если же реализация JCA зависит от WildFly, необходимо выполнить рефакторинг приложения, чтобы удалить эту зависимость. Если это возможно, добавьте JAR в путь к классу сервера и поместите необходимые файлы конфигурации в нужное расположение в каталогах сервера WildFly, чтобы обеспечить доступность.

Определение того, используется ли JAAS

Если приложение использует JAAS, необходимо определить настройки JAAS. Если используется база данных, ее можно преобразовать в домен JAAS в WildFly. Если используется пользовательская реализация, необходимо проверить, можно ли использовать ее в WildFly.

Определение того, использует ли приложение адаптер ресурсов

Если приложению требуется адаптер ресурсов, он должен быть совместим с WildFly. Определите, хорошо ли работает адаптер ресурсов в отдельном экземпляре WildFly, развернув его на сервере и правильно настроив. Если адаптер ресурсов работает правильно, добавьте JAR в путь к классу сервера образа Docker и поместите необходимые файлы конфигурации в нужное расположение в каталогах сервера WildFly, чтобы обеспечить доступность.

Определение того, состоит ли приложение из нескольких WAR-файлов

Если приложение состоит из нескольких WAR-файлов, их следует рассматривать как отдельные приложения, как описано в этом руководстве.

Определение того, упаковано ли приложение как EAR-файл

Если приложение упаковано как EAR-файл, обязательно проверьте файл application.xml, определив его конфигурацию.

Если нужно масштабировать каждое веб-приложение отдельно для эффективного использования ресурсов AKS, следует разбить EAR на отдельные веб-приложения.

Определение всех внешних процессов и управляющих программ, запущенных на рабочих серверах

Если за пределами сервера приложений выполняются какие-либо процессы (например, управляющие программы мониторинга), вам нужно будет удалить их или перенести в другое расположение.

Тестирование на месте

Прежде чем создавать образы контейнеров, перенесите приложение в JDK и версии WildFly для использования в AKS. Тщательно протестируйте приложение, чтобы обеспечить совместимость и высокую производительность.

Миграция

Подготовка Реестра контейнеров Azure и Службы Kubernetes Azure

Используйте следующие команды, чтобы создать Реестр контейнеров и кластер Azure Kubernetes, субъект-служба которого имеет роль читателя в реестре. Не забудьте выбрать соответствующую модель сети в соответствии с требованиями к сети кластера.

az group create \ --resource-group $resourceGroup \ --location eastus az acr create \ --resource-group $resourceGroup \ --name $acrName \ --sku Standard az aks create \ --resource-group $resourceGroup \ --name $aksName \ --attach-acr $acrName \ --network-plugin azure 

Создание образа Docker для WildFly

Чтобы создать Dockerfile, вам потребуется следующее:

  • поддерживаемый пакет JDK;
  • установленная версия WildFly;
  • среда выполнения JVM;
  • способ передачи переменных среды (если применимо).

Затем можно выполнить действия, описанные в следующих разделах, там, где это применимо. В качестве отправной точки для работы с Dockerfile и веб-приложения можно использовать репозиторий для быстрого начала работы с контейнерами WildFly.

  1. Настройка хранилища ключей FlexVolume
  2. Настройка источников данных
  3. Настройка ресурсов JNDI
  4. Проверка конфигурации WildFly
Настройка хранилища ключей FlexVolume

Создайте хранилище ключей в Azure и укажите все необходимые секреты. Дополнительные сведения см . в кратком руководстве по настройке и извлечению секрета из Azure Key Vault с помощью Azure CLI. Затем настройте хранилище ключей FlexVolume, чтобы сделать эти секреты доступными для групп pod.

Кроме того, потребуется обновить скрипт запуска, используемый для начальной загрузки WildFly. Этот скрипт перед запуском сервера должен импортировать сертификаты в хранилище ключей, используемое WildFly.

Настройка источников данных

Чтобы настроить WildFly для доступа к источнику данных, необходимо добавить JAR-файл драйвера JDBC в образ Docker, а затем выполнить соответствующие команды интерфейса командной строки JBoss. Эти команды должны настроить источник данных при создании образа Docker.

Следующие шаги содержат инструкции для PostgreSQL, MySQL и SQL Server.

  1. Загрузите драйвер JDBC для PostgreSQL, MySQL или SQL Server. Распакуйте загруженный архив, чтобы получить JAR-файл драйвера.
  2. Создайте файл (например, с именем module.xml ), и добавьте следующую разметку. Замените заполнитель (включая угловые скобки) на org.postgres для PostgreSQL, на com.mysql для MySQL или на com.microsoft для SQL Server. Замените именем JAR-файла из предыдущего шага, включая полный путь к расположению, в которое будет помещен файл в образе Docker, например в /opt/database .

batch module add --name=org.postgres --resources= --module-xml= /subsystem=datasources/jdbc-driver=postgres:add(driver-name=postgres,driver-module-name=org.postgres,driver-class-name=org.postgresql.Driver,driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource) data-source add --name=postgresDS --driver-name=postgres --jndi-name=java:jboss/datasources/postgresDS --connection-url=$DATABASE_CONNECTION_URL --user-name=$DATABASE_SERVER_ADMIN_FULL_NAME --password=$DATABASE_SERVER_ADMIN_PASSWORD --use-ccm=true --max-pool-size=5 --blocking-timeout-wait-millis=5000 --enabled=true --driver-class=org.postgresql.Driver --exception-sorter-class-name=org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter --jta=true --use-java-context=true --valid-connection-checker-class-name=org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker reload run batch shutdown 

MySQL

batch module add --name=com.mysql --resources= --module-xml= /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-class-name=com.mysql.cj.jdbc.Driver) data-source add --name=mysqlDS --jndi-name=java:jboss/datasources/mysqlDS --connection-url=$DATABASE_CONNECTION_URL --driver-name=mysql --user-name=$DATABASE_SERVER_ADMIN_FULL_NAME --password=$DATABASE_SERVER_ADMIN_PASSWORD --use-ccm=true --max-pool-size=5 --blocking-timeout-wait-millis=5000 --enabled=true --driver-class=com.mysql.cj.jdbc.Driver --jta=true --use-java-context=true --exception-sorter-class-name=com.mysql.cj.jdbc.integration.jboss.ExtendedMysqlExceptionSorter reload run batch shutdown 

SQL Server

batch module add --name=com.microsoft --resources= --module-xml= /subsystem=datasources/jdbc-driver=sqlserver:add(driver-name=sqlserver,driver-module-name=com.microsoft,driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver,driver-datasource-class-name=com.microsoft.sqlserver.jdbc.SQLServerDataSource) data-source add --name=sqlDS --jndi-name=java:jboss/datasources/sqlDS --driver-name=sqlserver --connection-url=$DATABASE_CONNECTION_URL --validate-on-match=true --background-validation=false --valid-connection-checker-class-name=org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker --exception-sorter-class-name=org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLExceptionSorter reload run batch shutdown 
java:jboss/datasources/postgresDS 

MySQL

java:jboss/datasources/mysqlDS 

SQL Server

java:jboss/datasources/postgresDS 
RUN /bin/bash -c '/bin/standalone.sh --start-mode admin-only &' && \ sleep 30 && \ /bin/jboss-cli.sh -c --file=/opt/database/datasource-commands.cli && \ sleep 30 
jdbc:postgresql://:5432/?ssl=true 

MySQL

jdbc:mysql://:3306/?ssl=true\&useLegacyDatetimeCode=false\&serverTimezone=GMT 

SQL Server

jdbc:sqlserver://:1433;database=;user=;password=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30; 

Дополнительные сведения о настройке подключения к базе данных с помощью WildFly см. в статьях для PostgreSQL, MySQL или SQL Server.

Настройка ресурсов JNDI

Чтобы настроить каждый ресурс JNDI для WildFly, обычно необходимо выполнить следующие действия.

  1. Загрузите необходимые JAR-файлы и скопируйте их в образ Docker.
  2. Создайте файл WildFly module.xml, ссылающийся на эти JAR-файлы.
  3. Создайте конфигурацию, необходимую для определенного ресурса JNDI.
  4. Создайте скрипт командной строки JBoss, который будет использоваться во время сборки Docker для регистрации ресурса JNDI.
  5. Добавьте все это в Dockerfile.
  6. Передайте соответствующие переменные среды в развертывание YAML.

В приведенном ниже примере показаны шаги, необходимые для создания ресурса JNDI для подключения JMS к служебной шине Azure.

  1. Загрузите поставщик JMS для Apache Qpid Распакуйте загруженный архив, чтобы получить JAR-файлы.
  2. Создайте файл (например, с именем module.xml ), и добавьте следующую разметку в /opt/servicebus . Убедитесь, что номера версий JAR-файлов совпадают с именами JAR-файлов в предыдущем шаге.

connectionfactory.$=amqps://$.servicebus.windows.net?amqp.idleTimeout=120000&jms.username=$&jms.password=$ queue.$=$ topic.$=$
batch /subsystem=ee:write-attribute(name=annotation-property-replacement,value=true) /system-property=property.mymdb.queue:add(value=myqueue) /system-property=property.connection.factory:add(value=java:global/remoteJMS/SBF) /subsystem=ee:list-add(name=global-modules, value= "org.jboss.genericjms.provider", "slot" =>"main"> /subsystem=naming/binding="java:global/remoteJMS":add(binding-type=external-context,module=org.jboss.genericjms.provider,class=javax.naming.InitialContext,environment=[java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory,org.jboss.as.naming.lookup.by.string=true,java.naming.provider.url=/opt/servicebus/jndi.properties]) /subsystem=resource-adapters/resource-adapter=generic-ra:add(module=org.jboss.genericjms,transaction-support=XATransaction) /subsystem=resource-adapters/resource-adapter=generic-ra/connection-definitions=sbf-cd:add(class-name=org.jboss.resource.adapter.jms.JmsManagedConnectionFactory, jndi-name=java:/jms/$) /subsystem=resource-adapters/resource-adapter=generic-ra/connection-definitions=sbf-cd/config-properties=ConnectionFactory:add(value=$) /subsystem=resource-adapters/resource-adapter=generic-ra/connection-definitions=sbf-cd/config-properties=JndiParameters:add(value="java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory;java.naming.provider.url=/opt/servicebus/jndi.properties") /subsystem=resource-adapters/resource-adapter=generic-ra/connection-definitions=sbf-cd:write-attribute(name=security-application,value=true) /subsystem=ejb3:write-attribute(name=default-resource-adapter-name, value=generic-ra) run-batch reload shutdown 
RUN /bin/bash -c '/bin/standalone.sh --start-mode admin-only &' && \ sleep 30 && \ /bin/jboss-cli.sh -c --file=/opt/servicebus/servicebus-commands.cli && \ sleep 30 
Проверка конфигурации WildFly

Ознакомьтесь с руководством по администрированию WildFly, чтобы узнать о дополнительных шагах, выполняемых перед миграцией, не описанных в предыдущем руководстве.

Сборка и передача образа Docker в Реестр контейнеров Azure

После создания Dockerfile необходимо создать образ Docker и опубликовать его в Реестре контейнеров Azure.

Если вы использовали наш репозиторий GitHub для быстрого начала работы с контейнерами WildFly, процесс создания образа и его передачи в реестр контейнеров Azure будет аналогичен вызову следующих трех команд.

В этих примерах переменная среды MY_ACR содержит имя Реестра контейнеров Azure, а переменная MY_APP_NAME содержит имя веб-приложения, используемого в Реестре контейнеров Azure.

mvn package 

Войдите в Реестр контейнеров Azure:

az acr login --name $

Сборка и передача образа:

az acr build --image $.azurecr.io/$ --file src/main/docker/Dockerfile . 

Кроме того, с помощью Docker CLI можно сначала создать и протестировать образ локально, как показано в следующих командах. Такой подход упрощает тестирование и дополнительную настройку образа перед первым развертыванием в ACR. Однако для этого необходимо установить Docker CLI и убедиться, что управляющая программа Docker запущена.

docker build -t $.azurecr.io/$

Локальный запуск образа:

docker run -it -p 8080:8080 $.azurecr.io/$

Теперь вы можете получить доступ к приложению по адресу http://localhost:8080 .

Войдите в Реестр контейнеров Azure:

az acr login --name $

Передача образа в Реестр контейнеров Azure:

docker push $.azurecr.io/$

Более подробные сведения о создании и хранении образов контейнеров в Azure см. в модуле Создание и хранение образов контейнеров с помощью службы «Реестр контейнеров Azure».

Подготовка общедоступного IP-адреса

Если ваше приложение должно быть доступным за пределами внутренней или виртуальной сети, требуется общедоступный статический IP-адрес. Этот IP-адрес следует подготовить в группе ресурсов узла кластера, как показано в следующем примере:

export nodeResourceGroup=$(az aks show \ --resource-group $resourceGroup \ --name $aksName \ --query 'nodeResourceGroup' \ --output tsv) export publicIp=$(az network public-ip create \ --resource-group $nodeResourceGroup \ --name applicationIp \ --sku Standard \ --allocation-method Static \ --query 'publicIp.ipAddress' \ --output tsv) echo "Your public IP address is $." 

Развертывание в AKS

Создайте и примените файлы YAML Kubernetes. Дополнительные сведения см. в кратком руководстве по развертыванию кластера Служба Azure Kubernetes с помощью Azure CLI. Если вы создаете внешний балансировщик нагрузки для приложения и контроллера входящего трафика, обязательно укажите IP-адрес (см. предыдущий раздел) в качестве LoadBalancerIP .

Включите внешние параметры в качестве переменных среды. См. сведения об определении переменных среды для контейнера. Не включайте секреты (например, пароли, ключи API и строки подключения JDBC). Они описаны в следующих разделах.

Не забудьте включить параметры памяти и ЦП при создании YAML развертывания, чтобы контейнеры имели правильный размер.

Настройка постоянного хранилища

Если для работы приложения требуется энергонезависимое хранилище, настройте один или несколько постоянных томов.

Перенос запланированных заданий

Чтобы выполнить запланированные задания в кластере AKS, определите требуемые задания Kubernetes CronJobs. См. сведения о выполнении автоматизированных задач с помощью CronJob.

После миграции

После переноса приложения в Azure Kubernetes Service нужно убедиться, что оно работает правильно. Выполнив проверку, можете применить некоторые рекомендации, которые помогут сделать ваше приложение более удобным для использования в облаке.

Рекомендации

  • Мы рекомендуем добавить DNS-имя к IP-адресу, выделенному для контроллера входящего трафика или балансировщика нагрузки приложения. Дополнительные сведения см. в статье о создании контроллера входящего трафика со статическим общедоступным IP-адресом в AKS.
  • Вы также можете добавить диаграммы Helm для приложения. Чарты Helm позволяют параметризировать развертывание приложения для использования и настройки различными клиентами.
  • Разработайте и реализуйте стратегию DevOps. Чтобы обеспечить надежность и ускорить разработку, вы можете автоматизировать развертывание и тестирование с помощью Azure Pipelines. Дополнительные сведения см. в разделе Сборка и развертывание в AKS.
  • Включите мониторинг Azure для этого кластера. Дополнительные сведения см. в статье Включение мониторинга уже развернутого кластера Azure Kubernetes Service (AKS). Это позволяет Azure Monitor получать журналы контейнеров, отслеживать использование и т. д.
  • Вы можете предоставить метрики конкретного приложения через Prometheus. Prometheus — это платформа метрик с открытым кодом, широко используемая в сообществе Kubernetes. Вы можете настроить метрики Prometheus в Azure Monitor, чтобы не размещать собственный сервер Prometheus. Так вы включите агрегирование метрик из приложений и автоматическое реагирование или эскалацию при возникновении аномальных условий. Дополнительные сведения см. в разделе Настройка очистки метрик Prometheus с Azure Monitor для контейнеров.
  • Разработайте и реализуйте стратегии обеспечения непрерывности бизнес-процессов и аварийного восстановления. Для критически важных приложений вы можете использовать архитектуру развертывания с несколькими регионами. Дополнительные сведения см. в руководстве по обеспечению непрерывности бизнеса и аварийного восстановления в AKS.
  • Ознакомьтесь с политикой поддержки версий Kubernetes. Вы должны обновлять кластер AKS самостоятельно, чтобы обеспечить его выполнение под управлением поддерживаемой версии. Дополнительные сведения см. в статье Обновление кластера службы Azure Kubernetes (AKS).
  • Предоставьте всем участникам группы, отвечающей за администрирование кластера и разработку приложений, доступ к соответствующим рекомендациям по работе с AKS. Дополнительные сведения см. в статье Лучшие методики по созданию приложений и управлению ими в AKS для оператора и разработчика кластера.
  • Убедитесь, что в файле развертывания указано, как выполняются последовательные обновления. Дополнительные сведения см. в статье Rolling Update Deployment (Развертывание последовательного обновления) в документации по Kubernetes.
  • Настройте автоматическое масштабирование для учета пиковой загрузки. Дополнительные сведения см. в разделе Автоматическое масштабирование кластера в соответствии с требованиями приложения в Службе контейнеров Azure.
  • Для дальнейшей оптимизации производительности вы можете отслеживать размер кэша кода и добавить параметры JVM -XX:InitialCodeCacheSize и -XX:ReservedCodeCacheSize в Dockerfile. Дополнительные сведения см. в разделе Codecache Tuning (Настройка параметра Codecache) в документации Oracle.

Как установить WildFly (JBoss) на CentOS 7

WildFly , ранее известный как JBoss, представляет собой кроссплатформенную среду выполнения приложений с открытым исходным кодом, написанную на Java, которая помогает создавать потрясающие приложения. WildFly гибкий, легкий и основан на подключаемых подсистемах, которые можно добавлять или удалять по мере необходимости.

В этом руководстве объясняется, как установить сервер приложений WildFly на CentOS 7.

Подготовка

Вам нужно будет войти в систему как пользователь с доступом sudo, чтобы иметь возможность устанавливать пакеты в вашей системе CentOS.

Шаг 1. Установите Java OpenJDK

WildFly 9 требует Java SE 8 или новее. В этом руководстве мы установим OpenJDK , реализацию платформы Java с открытым исходным кодом, которая является средой разработки и выполнения Java по умолчанию в CentOS 7.

Установите пакет OpenJDK, запустив:

sudo yum install java-1.8.0-openjdk-devel

Шаг 2. Создайте пользователя

Запуск WildFly от имени пользователя root представляет собой угрозу безопасности и не считается оптимальной практикой.

Чтобы создать нового системного пользователя и группу с именем wildfly с домашним каталогом /opt/wildfly выполните:

sudo groupadd -r wildflysudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Шаг 3. Установите WildFly

На момент написания последней версии WildFly была 16.0.0 . Перед тем, как перейти к следующему шагу, вам следует проверить страницу загрузки на предмет наличия новой версии. Если есть новая версия, замените переменную WILDFLY_VERSION в приведенной ниже команде.

Загрузите архив WildFly в каталог /tmp используя следующую команду wget :

WILDFLY_VERSION=16.0.0.Finalwget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp

Когда загрузка будет завершена, распакуйте файл tar.gz и переместите его в каталог /opt :

sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/

Затем создайте символическую ссылку wildfly которая будет указывать на каталог установки WildFly:

sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly

WildFly будет работать от wildfly пользователя wildfly которому требуется доступ к каталогу установки WildFly.

Измените владельца каталога на пользователя и группу wildfly с помощью следующей команды chown :

sudo chown -RH wildfly: /opt/wildfly

Шаг 4. Настройте Systemd

Пакет WildFly включает файлы, необходимые для запуска WildFly как службы.

Начните с создания каталога, в котором будет храниться файл конфигурации WildFly:

sudo mkdir -p /etc/wildfly

Скопируйте файл конфигурации в каталог /etc/wildfly :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

Этот файл позволяет указать режим WildFly и адрес привязки. По умолчанию WildFly будет работать в автономном режиме и будет прослушивать все интерфейсы. Вы можете редактировать файл в соответствии с вашими потребностями.

/etc/wildfly/wildfly.conf

# The configuration you want to run WILDFLY_CONFIG=standalone.xml # The mode you want to run WILDFLY_MODE=standalone # The address to bind to WILDFLY_BIND=0.0.0.0 

Затем скопируйте сценарий WildFly launch.sh /opt/wildfly/bin/ :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Скрипты внутри каталога bin должны иметь флаг исполняемого файла :

sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

Скопируйте файл модуля systemd с именем в каталог /etc/systemd/system/ :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Сообщите systemd, что мы создали новый файл модуля:

sudo systemctl daemon-reload

Запустите службу WildFly и включите ее автоматический запуск во время загрузки, выполнив:

sudo systemctl start wildflysudo systemctl enable wildfly

Убедитесь, что служба запущена:

sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago Main PID: 3680 (launch.sh) CGroup: /system.slice/wildfly.service 

Шаг 5. Настройте брандмауэр

Если ваш сервер защищен брандмауэром, и вы хотите получить доступ к экземпляру WildFly извне локальной сети, вам также необходимо открыть порт 8080.

Используйте следующие команды, чтобы открыть нужный порт:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcpsudo firewall-cmd --reload

При запуске приложения WildFly в производственной среде, скорее всего, у вас будет балансировщик нагрузки или обратный прокси-сервер, и рекомендуется ограничить доступ к порту 8080 только для вашей внутренней сети.

Шаг 6. Настройте аутентификацию WildFly

Теперь, когда WildFly установлен и запущен, следующим шагом будет создание пользователя, который сможет подключаться с помощью консоли администрирования или удаленно с помощью интерфейса командной строки.

Чтобы добавить нового пользователя, используйте скрипт add-user.sh который находится в каталоге bin WildFly:

sudo /opt/wildfly/bin/add-user.sh

Вас спросят, какого типа пользователя вы хотите добавить:

What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): 

Выберите и нажмите a Enter :

Далее скрипт предложит вам ввести данные нового пользователя:

Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : linuxize Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) Password : Re-enter Password : What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: About to add user 'linuxize' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties' Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties' Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties' Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. yes/no? yes To represent the user add the following to the server-identities definition 

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

Шаг 6: Проверьте установку WildFly

Чтобы получить доступ к странице WildFly по умолчанию, откройте браузер и введите: http://:8080

Если установка прошла успешно, появится экран, подобный следующему:

Шаг 7. Доступ к консоли администрирования WildFly.

Интерфейс командной строки

Для доступа к консоли администрирования WildFly из командной строки вы можете использовать сценарий jboss-cli.sh .

Перейдите в каталог bin WildFly и запустите сценарий с параметром —connect :

cd /opt/wildfly/bin/./jboss-cli.sh --connect

Вам будет предложено ввести имя пользователя и пароль администратора (созданный на шаге 6):

Authenticating against security realm: ManagementRealm Username: linuxize Password: 

После входа в систему приглашение консоли изменится на [standalone@localhost:9990 /] . Введите help чтобы получить список команд и синтаксис команд.

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

Веб интерфейс

Если вы предпочитаете управлять своим сервером из графического интерфейса, WildFly также предоставляет веб-консоль.

По умолчанию консоль администрирования WildFly доступна только с localhost по адресу http://localhost:9990/console . Войдите в систему, используя пользователя, которого вы создали на шаге 6.

Если вы хотите получить доступ к консоли из удаленных мест, вам необходимо внести небольшие изменения в wildfly.service , wildfly.conf и launch.sh .

Откройте wildfly.conf и добавьте WILDFLY_CONSOLE_BIND=0.0.0.0 в конец файла.

/etc/wildfly/wildfly.conf

# The configuration you want to run WILDFLY_CONFIG=standalone.xml # The mode you want to run WILDFLY_MODE=standalone # The address to bind to WILDFLY_BIND=0.0.0.0 # The address console to bind to WILDFLY_CONSOLE_BIND=0.0.0.0

Откройте launch.sh и отредактируйте выделенные строки:

/opt/wildfly/bin/launch.sh

#!/bin/bash if [ "x$WILDFLY_HOME" = "x" ]; then WILDFLY_HOME="/opt/wildfly" fi if [[ "$1" == "domain" ]]; then  $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4 else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4 fi

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

sudo systemctl restart wildfly

Откройте wildfly.service и отредактируйте выделенные строки:

/etc/systemd/system/wildfly.service

[Unit] Description=The WildFly Application Server After=syslog.target network.target Before=httpd.service [Service] Environment=LAUNCH_JBOSS_IN_BACKGROUND=1 EnvironmentFile=-/etc/wildfly/wildfly.conf User=wildfly LimitNOFILE=102642 PIDFile=/var/run/wildfly/wildfly.pid ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND StandardOutput=null [Install] WantedBy=multi-user.target

Создайте каталог /var/run/wildfly и установите правильные разрешения:

sudo mkdir /var/run/wildfly/sudo chown wildfly: /var/run/wildfly/

Сообщите systemd, что файл модуля был изменен:

sudo systemctl daemon-reload

Перезапустите службу WildFly, выполнив:

sudo systemctl restart wildfly

Предполагая, что порт 9990 не заблокирован в вашем брандмауэре, вы должны иметь доступ к консоли администрирования WildFly по адресу http://:9990/console .

Выводы

Вы успешно установили WildFly в свою систему CentOS 7. Теперь вы можете посетить официальную документацию WildFly и узнать больше о функциях WildFly.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Wildfly, установите этот сервер приложений Java EE в Ubuntu

В следующей статье мы рассмотрим WildFly (ранее известный как Jboss AS). Это легкий, быстрый и оптимизированный сервер приложений Java EE на основе Java с помощью которого можно разрабатывать большие приложения из единой среды IDE. В следующих строках мы увидим, как установить его в Ubuntu 18.04.

WildFly кроссплатформенный. Он предлагает прочную панель управления, которая делает изменить конфигурацию на сервере приложений очень просто и быстро. Нет необходимости перемещаться по ненужным страницам для настройки среды в поисках той, которая соответствует вашим потребностям.

Установить OpenJDK

Теме статьи:
Установите Java 8, 9 и 10 на Ubuntu 18.04 и производные

WildFly написан на Java, поэтому требуется Java JDK для работы. Чтобы удовлетворить это требование, пользователи могут выбрать установку официального Java JDK Oracle или использовать альтернативу с открытым исходным кодом под названием OpenJDK. В этом примере мы выберем версию Java с открытым исходным кодом, поэтому в терминале (Ctrl + Alt + T) мы напишем:

установка java jdk

sudo apt update; sudo apt install default-jdk

После установки OpenJDK мы можем проверить установку набрав в терминале:

проверка установки Java

java -version

Если терминал вернет несколько строк, подобных тем, что на предыдущем снимке экрана, Java будет установлена ​​и готова.

Настроить пользователя WildFly

Поскольку это сервер приложений, обычно рекомендуется использовать специальную учетную запись службы. Запустите в терминале (Ctrl + Alt + T) следующие команды, чтобы создать учетную запись службы WildFly для управления сервером:

sudo groupadd -r wildfly sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Закончив, мы продолжаем загрузку и установку WildFly.

Скачайте и установите WildFly

После завершения установки Java JDK и создания учетной записи службы для WildFly мы выполним следующие команды, чтобы скачать пакет для WildFly. Именно в этот момент текущая версия — 16.0.0.Final. Последнюю доступную версию можно найти в вашем страница загрузки.

Если мы откроем терминал (Ctrl + Alt + T), мы сможем используйте команду wget для загрузки пакета легко используя следующие команды:

скачать Wildfly

cd /tmp wget https://download.jboss.org/wildfly/16.0.0.Final/wildfly-16.0.0.Final.tar.gz

После завершения загрузки нам нужно будет выполнить следующие команды, чтобы создать папку WildFly в каталоге / неавтоматического и сменить владельца на учетную запись службы WildFly.

tar xvf wildfly-16.0.0.Final.tar.gz sudo mv wildfly-16.0.0.Final/ /opt/wildfly sudo chown -RH wildfly: /opt/wildfly

Мы продолжаем создавать папка сервиса WildFly в каталоге / Etc / с помощью следующей команды:

sudo mkdir -p /etc/wildfly

После создания каталога скопируйте файлы конфигурации и исполняемые файлы WildFly в каталог Вновь созданный.

скопируйте файлы конфигурации с этого медиа-сервера

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/ sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Мы также должны делать скрипты в каталоге / и т. д. / wildfly / bin исполняемые.

sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

На этом этапе мы будем скопировать файл systemd в каталог / и т.д. / systemd / system / Бег:

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Теперь мы можем используйте следующие команды для остановки, запуска и включения служб WildFly для автоматического запуска при загрузке:

команды на сервисе Wildfly

Во-первых, мы останавливаем службу:

sudo systemctl stop wildfly.service

Сейчас мы запускаем сервис:

sudo systemctl start wildfly.service

И мы закончили включение службы:

sudo systemctl enable wildfly.service

к подтвердить начало, выполните следующую команду:

статус службы

sudo systemctl status wildfly.service

Учетная запись пользователя для подключения и администрирования веб-консоли сервера

Теперь, когда вы загрузили и установили службу WildFly, выполните следующую команду, чтобы создать учетную запись пользователя. Это позволит подключить и управлять веб-консолью сервера приложений. Мы создадим учетную запись, набрав в терминале (Ctrl + Alt + T):

sudo /opt/wildfly/bin/add-user.sh

В меню, которое видно на скриншоте, введите «a”И нажмите Enter:

создать учетную запись пользователя в Wildfly

Сейчас введите новое имя пользователя и придумайте свой пароль:

имя пользователя и пароль для учетной записи службы

Пишет «Да» за полная настройка. Теперь WildFly должен быть установлен и готов.

Wildfly в браузере

Теперь мы можем открыть браузер и в качестве URL используйте имя хоста или IP-адрес сервера, за которым следует порт 8080.

Заставка Wildfly

http://localhost:8080

Консоль сервера ограничена только локальным сервером. Если вы заинтересованы в подключении из удаленного места, информацию о том, как это сделать, можно получить у вашего документация.

Консоль администрирования Wildfly в браузере

После этого мы можем получить доступ к консоли администрирования из http://localhost:9990/console удаленно тогда WildFly успешно установлен на Ubuntu, 18.04. в этом случае.

Полный путь к статье: Убунлог » Ubuntu » Wildfly, установите этот сервер приложений Java EE в Ubuntu

3 комментариев, оставьте свой

Оставьте свой комментарий Отменить ответ

Элиана сказал

тому назад 4 лет
Спасибо, это единственный учебник, который работает ��

Фернандо сказал

тому назад 2 лет
Фантастический. Это спасло мне жизнь.

Fishkdo сказал

тому назад 12 месяцев

Благодаря этому сработало, теперь я пытаюсь реплицировать, чтобы два экземпляра wildfly работали на одном сервере, если я запускаю его с помощью sh /opt/wildfly2/bin/stanalone.sh, он работает правильно, но когда я хочу создайте второй сервис, чтобы работать с systemctl, запустите wildlfly2, я не могу заставить его работать. Любая рекомендация?

��⚕️️ Большое руководство по проверке версий программного обеспечения

Мануал

Автор cryptoparty На чтение 7 мин Опубликовано 29.03.2019

Хотите узнать, как проверить версию Nodejs, Ansible, Ubuntu, PostgreSQL, Windows, Python и многих других?

Я считаю, что должен быть стандартный способ проверки версии всего программного обеспечения, но, к сожалению, его не существует.

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

Иногда это бывает трудным моментом, а именно узнать версию программного обеспечения, установленного на вашем сервере или ПК.

Здесь я пытаюсь объединить некоторые из популярных программ и утилит, надеюсь, вам понравится!

Как проверить версию

  • Nginx
  • Apache HTTP
  • PHP
  • Nodejs
  • Python
  • Anaconda
  • Angular CLI
  • PowerShell
  • MySQL/MariaDB
  • PostgreSQL
  • Redis Server
  • Java
  • Ubuntu
  • CentOS/RHEL
  • Debian
  • Linux Kernel
  • MacOS
  • Windows
  • Tomcat
  • WildFly
  • WordPress
  • Google Chrome
  • Internet Explorer (IE)
  • Firefox
  • apt-get
  • gcc
  • Ansible
  • TensorFlow
  • Brew
  • Docker

Nginx

Проверить версию Nginx легко.

nginx -v
root@itsecforu:~# nginx -v nginx version: nginx/1.14.0 (EasyEngine) root@itsecforu:~#

Nodejs

Проверьте версию nodejs с синтаксисом –version, как показано ниже.

[root@instance-1 bin]# node --version v6.16.0 [root@instance-1 bin]#

Python

Как и в Node.js, вы можете узнать версию Python, как показано ниже.

[root@instance-1 bin]# python --version Python 2.7.5 [root@instance-1 bin]#

Anaconda

Используете платформу Anaconda для Python?

Вот как вы можете найти версию Anaconda. Предположим, вы работаете в ОС UNIX.

root@itsecforu:~# conda list anaconda
# packages in environment at /root/anaconda3:
#
# Name Version Build Channel
anaconda 2018.12 py37_0
anaconda-client 1.7.2 py37_0
anaconda-navigator 1.9.6 py37_0
anaconda-project 0.8.2 py37_0
root@itsecforu:~#

Если вам просто нужно узнать версию анаконды, добавьте $ в конце.

root@itsecforu:~# conda list anaconda$ # packages in environment at /root/anaconda3: # # Name Version Build Channel anaconda 2018.12 py37_0 root@itsecforu:~#

Angular CLI

ng с version покажет вам установленные детали Angular CLI.

# ng version _ _ ____ _ ___ / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _| / △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | | / ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | | /_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___| |___/ Angular CLI: 7.3.7 Node: 11.12.0 OS: linux x64 Angular: . Package Version ------------------------------------------------------ @angular-devkit/architect 0.13.7 @angular-devkit/core 7.3.7 @angular-devkit/schematics 7.3.7 @schematics/angular 7.3.7 @schematics/update 0.13.7 rxjs 6.3.3 typescript 3.2.4 

PowerShell

В командной строке PowerShell выполните следующую команду, чтобы получить версию.

PS C:\Windows\system32> $PSVersionTable Name Value ---- ----- PSVersion 5.1.14393.2828 PSEdition Desktop PSCompatibleVersions BuildVersion 10.0.14393.2828 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 PS C:\Windows\system32>

MySQL/MariaDB

Немного отличается от PHP. Чтобы проверить версию MySQL или MariaDB, вы должны использовать следующую команду.

mysql -V
mysql -V mysql Ver 15.1 Distrib 10.1.37-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 

PostgreSQL

Чтобы проверить версию клиента PostgreSQL

psql -V

И, чтобы проверить версию сервера PostgreSQL

pg_config --version

Redis Server

Используйте синтаксис -v.

redis-server -v

Java

Выполните Java с -version, и у вас будет информация о версии.

# java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Если вы пытаетесь найти версию Java сервера и его нет в $PATH, то вам, возможно, придется указать абсолютный путь для выполнения Java.

Ubuntu

Чтобы проверить версию Ubuntu, используйте команду ниже.

lsb_release -a
 lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic

CentOS/RHEL

Хотите знать, в какую версию RHEL вы вошли в систему?

Вы можете проверить версию с помощью cat /etc/redhat-release

# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)

Debian

Debian хранит информацию о версии в файле, который вы можете просмотреть.

root@instance-2:~$ cat /etc/debian_version 9.8 root@instance-2:~$

Ядро Linux

Иногда вам может понадобиться обновить ядро или настроить мониторинг, чтобы обеспечить согласованность всех серверов.

Что бы это ни было, вы можете найти версию ядра с помощью команды uname, как показано ниже.

# uname -r 4.15.0-45-generic

MacOS

Если вам нужно найти версию MacOS, нажмите на значок Apple и >> Об этом Mac

Windows

Существует несколько способов поиска, поэтому давайте рассмотрим две наиболее распространенные процедуры.

  • Запустить командную строку
  • Введите winver и нажмите Enter

Щелкните правой кнопкой мыши на Мой компьютер и выберите Свойства

Откроется системное окно, в котором вы найдете версию ОС и другую информацию, такую как тип компьютера / сервера, модель, процессор, оперативная память, производитель и т. д.

Tomcat

Apache Tomcat имеет специальный файл версии, который вы найдете в папке bin.

Вам просто нужно выполнить эту команду, чтобы узнать версию Tomcat.

[root@instance-1 bin]# ./version.sh Using CATALINA_BASE: /root/apache-tomcat-9.0.16 Using CATALINA_HOME: /root/apache-tomcat-9.0.16 Using CATALINA_TMPDIR: /root/apache-tomcat-9.0.16/temp Using JRE_HOME: / Using CLASSPATH: /root/apache-tomcat-9.0.16/bin/bootstrap.jar:/root/apache-tomcat-9.0.16/bin/tomcat-juli.jar Server version: Apache Tomcat/9.0.16 Server built: Feb 4 2019 16:30:29 UTC Server number: 9.0.16.0 OS Name: Linux OS Version: 3.10.0-957.5.1.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_191-b12 JVM Vendor: Oracle Corporation [root@instance-1 bin]#

WildFly

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

Для командной строки вам нужно выполнить следующее.

./standalone.sh --version
20:05:44,496 INFO [org.jboss.modules] (main) JBoss Modules version 1.9.0.Final WildFly Full 16.0.0.Final (WildFly Core 8.0.0.Final)

Другой способ – войти в консоль управления и щелкнуть на информацию о версии в нижней панели.

WordPress

Есть несколько способов узнать установленную версию WP.

Когда вы войдете в WordPress, вы увидите информацию о версии в правом нижнем углу.

Например: Доступен WordPress 5.1.1! Пожалуйста, обновитесь.

Google Chrome

Интересно, какая у вас версия Chrome?

Это часто требуется, если вы разговариваете с ребятами из техподдержки или решаете проблемы.

Нетрудно найти и версию Chrome.

  • Запустите Chrome
  • Нажмите на три точки в правом верхнем углу
  • Перейдите в Справку и нажмите О Google Chrome, чтобы увидеть подробности о версии.

Internet Explorer (IE)

  • Запустите IE
  • Перейдите на значок «Инструменты» и нажмите «Об Internet Explorer».

И он покажет вам информацию о версии.

Firefox

Нажав на “О Firefox”, вы увидите версию, которую вы используете.

apt-get

Как администратор Linux, вы могли встретить apt-get (инструмент обработки пакетов).

Иногда вы устанавливаете инструмент, который не совместим с текущим установленным apt-get, и вам необходимо узнать версию;

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

# apt-get -v apt 1.6.8 (amd64) Supported modules: *Ver: Standard .deb *Pkg: Debian dpkg interface (Priority 30) Pkg: Debian APT solver interface (Priority -1000) Pkg: Debian APT planner interface (Priority -1000) S.L: 'deb' Debian binary tree S.L: 'deb-src' Debian source tree Idx: Debian Source Index Idx: Debian Package Index Idx: Debian Translation Index Idx: Debian dpkg status file Idx: Debian deb file Idx: Debian dsc file Idx: Debian control file Idx: EDSP scenario file Idx: EIPP scenario file

Как вы можете видеть, он показывает версию и поддерживаемые модули.

gcc

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

Но найти версию gcc легко!

gcc --version gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ansible

--version покажет вам установленную версию Ansible.
# ansible --version ansible 2.7.9 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/dist-packages/ansible executable location = /usr/bin/ansible python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]

TensorFlow

Все зависит от того, как вы установили.

Предполагая, что вы сделали это через pip, следующая команда покажет детали версии TensorFlow.

# pip show tensorflow Name: tensorflow Version: 1.13.1 Summary: TensorFlow is an open source machine learning framework for everyone. Home-page: https://www.tensorflow.org/ Author: Google Inc. Author-email: opensource@google.com License: Apache 2.0 Location: /root/anaconda3/lib/python3.7/site-packages Requires: termcolor, absl-py, wheel, protobuf, tensorboard, gast, six, tensorflow-estimator, numpy, keras-preprocessing, grpcio, keras-applications, astor Required-by:

Brew

Стандартный синтаксис -v покажет установленную версию brew.

:~ chandan$ brew -v Homebrew 2.0.2 Homebrew/homebrew-core (git revision 903f; last commit 2019-03-02

Docker

Выполнение команды docker с -v покажет вам версию.

 docker -v Docker version 18.09.3, build 774a1f4

Заключение

Я надеюсь, что это поможет вам найти версии программного обеспечения.

Дайте мне знать, если хотите добавить еще что-нибудь ��

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

Добавить комментарий Отменить ответ

Поддержать нас

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (109)
  • Книги (26)
  • Мануал (2 357)
  • Медиа (65)
  • Мероприятия (38)
  • Мошенники (22)
  • Обзоры (824)
  • Обход запретов (33)
  • Опросы (3)
  • Скрипты (124)
  • Статьи (350)
  • Философия (140)
  • Юмор (19)

Наш Telegram

Социальные сети
Поделиться

Anything in here will be replaced on browsers that support the canvas element

  • �� Как быстро сделать файлы пустыми, не удаляя их в Linux и Unix 06.03.2024

Сегодня мы узнаем, как очистить содержимое файла из командной строки, не удаляя сам файл в Linux и Unix-подобных операционных системах. Это может быть полезно, если вы хотите сохранить права доступа и владения файлом, но удалить все его содержимое. Причины удаления содержимого файла Прежде чем мы узнаем, как быстро очистить файл, не удаляя его, давайте разберемся, […]

Понимание основ сетевых технологий Windows крайне важно для любого ИТ-специалиста. При возникновении проблем вам понадобятся правильные инструменты для исследования и устранения проблем с подключением. В этой статье мы рассмотрим основные команды и утилиты Windows для устранения неполадок в сетевых конфигурациях. �� Как безопасно и полностью удалить файлы в Windows 10 без стороннего программного обеспечения Независимо от […]

Иногда немного дополнительной ясности может быть очень полезно, например, четко указать, что переменная не будет меняться. Внутри функции в Bash вы можете использовать ключевое слово local для определения переменной, и она может быть доступна только для чтения с помощью флага -r. Вот несколько примеров использования и результатов: #!/usr/bin/env bash set -o errexit set -o pipefail […]

ASSH или Advanced SSH Config – это обертка для SSH, которая позволяет динамически и расширенно управлять конфигурациями SSH. Стандартные конфигурации SSH могут быстро стать сложными и трудноуправляемыми, особенно в средах с большим количеством серверов. ASSH предлагает решение этой проблемы путем создания уровня абстракции. Это повышает эффективность использования возможностей файла конфигурации SSH. Например, если у вас […]

Polkit – это фреймворк авторизации, установленный в каждом современном дистрибутиве Linux: он предоставляет API, позволяющие привилегированным приложениям предоставлять сервисы непривилегированным субъектам. Общение с Polkit происходит по шине D-Bus, которая представляет собой систему IPC (Interprocess Comunication); чтобы понять, как работает первая, нужно сначала разобраться, как реализована вторая. В этом руководстве мы поговорим о Polkit, посмотрим, как […]

Добавить комментарий

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