Skip to content

Instantly share code, notes, and snippets.

@usharik
Last active January 7, 2023 22:47
Show Gist options
  • Save usharik/1a150e32b3cd8f40bd285de31f9222ba to your computer and use it in GitHub Desktop.
Save usharik/1a150e32b3cd8f40bd285de31f9222ba to your computer and use it in GitHub Desktop.

Разворачивание Wildfly на удаленном сервере

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

apt update

Устанавливаем JDK

apt install default-jdk

Проверяем версию JDK

java -version

Устанавливаем zip и unzip

apt install zip unzip

Создаем пользователя и указываем каталог, куда установим сервер в качестве домашнего

useradd -r -d /opt/wildfly -s /bin/false wildfly

Проверяем, добавился ли пользователь

cat /etc/passwd

Скачиваем Wildfly в каталог /tmp

wget https://download.jboss.org/wildfly/22.0.1.Final/wildfly-preview-22.0.1.Final.zip -P /tmp/

Распаковываем его в каталог /opt

unzip /tmp/wildfly-preview-22.0.1.Final.zip -d /opt/

Создаем символическую ссылку на каталог /opt/wildfly

ln -s /opt/wildfly-preview-22.0.1.Final/ /opt/wildfly

Копируем файлы настроек и скриптов для запуска сервера в качестве фонового сервиса

mkdir /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Создаем пользователя admin на wildfly

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

Редактируем файл /etc/wildfly/wildfly.conf при помощи редактора vi или nano Содержимое после редактирования должно быть таким. Добавляем переменную WILDFLY_CONSOLE_BIND

# 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

Редактируем файл /opt/wildfly/bin/launch.sh при помощи редактора vi или nano Содержимое после редактирования должно быть таким. В двух местах добавляем параметр -bmanagement $4

#!/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

Редактируем файл /etc/systemd/system/wildfly.service После редактирования содержимое должно быть таким. В строке запуска скрипта launch.sh добавляем параметр $WILDFLY_CONSOLE_BIND

[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

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

chown -RH wildfly: /opt/wildfly

Открываем порт для консоли управления сервера (порт 8080 уже открыт)

 ufw allow 9990/tcp

Обновляем список сервисов перед запуском

systemctl daemon-reload

Запускаем сервис

systemctl start wildfly

Проверяем статус

systemctl status wildfly

Смотрим логи

tail -f /opt/wildfly/standalone/log/server.log

Для деплоймента на запущенный сервер нужно видоизменить настройки wildfly-maven-plugin вот таким образом

    <build>
        <finalName>first-web-app</finalName>

        <plugins>
            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <version>2.0.2.Final</version>
                <configuration>
                    <hostname>80.78.245.66</hostname>
                    <username>admin</username>
                    <password>123</password>
                </configuration>
            </plugin>
        </plugins>
    </build>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment