Как установить сервер приложений GlassFish с обратным прокси Nginx на Debian 12

GlassFish – это бесплатная реализация платформы Java EE с открытым исходным кодом, разработанная компанией Eclipse. Это первая в мире реализация платформы Java EE, обеспечивающая легкий Сервер приложений и позволяющая развернуть несколько Java-приложений. GlassFish поддерживает множество типов технологий Java-приложений, таких как Enterprise JavaBeans, JPA, JavaServer Faces, JMS и многие другие.

GlassFish – это один из лучших вариантов для разработчиков, позволяющий создавать и развертывать приложения на базе Java. Он позволяет разработчикам создавать корпоративные приложения в удобном виде, а также масштабируемую архитектуру. Проект GlasshFish был первоначально начат компанией Sun Microsystem. Он поставляется с двумя различными свободными лицензиями – Common Development and Distribution License и GNU General Public License.

Предварительные требования

Чтобы начать этот процесс, убедитесь, что у вас есть следующее:

  • Сервер Debian 12 с не менее чем 4 ГБ оперативной или постоянной памяти.
  • Пользователь, не являющийся пользователем root, с правами sudo.

Установка Java OpenJDK

GlassiFish – это сервер приложений для развёртывания Java-приложений. Чтобы установить GlassFish, вы должны сначала установить Java на вашу систему Debian. На данный момент репозиторий Debian предоставляет Java OpenJDK 17, который совместим с последней версией GlassFish.

Сначала обновите репозиторий Debian, выполнив следующую команду.

sudo apt update

После обновления репозитория установите пакет default-jdk, выполнив следующую команду. Установив пакет default-jdk, вы установите Java OpenJDK 17.

sudo apt install default-jdk

Введите y, чтобы продолжить установку.

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

java -version

Настройка системы

После установки Java OpenJDK, следующим шагом будет настройка системы Debian путём установки дополнительных пакетов, таких как wget и unzip, создания нового пользователя системы glassfish и настройки переменной окружения JAVA_HOME.

Для начала вы установите пакеты unzip и wget, выполнив следующую команду APT.

sudo apt install unzip wget -y

Теперь выполните приведенную ниже команду, чтобы создать нового системного пользователя glassfish. Этот пользователь будет использоваться для запуска вашей установки GlasFish, которая будет находиться в каталоге /opt/glassfish.

sudo useradd -M -d /opt/glassfish -U -s /bin/false glassfish

Далее создайте новый bash-скрипт /etc/profile.d/java.sh с помощью следующей команды редактора nano.

sudo nano /etc/profile.d/java.sh

Добавьте следующую конфигурацию, чтобы установить переменную окружения JAVA_HOME и добавить путь к бинарным файлам Java в систему PATH.

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

Сохраните и закройте файл, когда закончите.

Теперь загрузите новую переменную окружения в /etc/profile.d/java.sh, используя приведенную ниже исходную команду.

source /etc/profile.d/java.sh

Наконец, выполните следующую команду, чтобы проверить системные переменные окружения PATH и JAVA_HOME.

echo $JAVA_HOME
echo $PATH

Если все прошло успешно, вы должны увидеть, что путь JAVA_HOME настроен на каталог /usr/lib/jvm/java-17-openjdk-amd64, а каталог Java bin добавлен в системный PATH.

Загрузка бинарного пакета GlassFish

Установив Java OpenJDK и подготовив систему Debian, вы можете загрузить и установить GlassFish. Прежде чем продолжить, проверьте страницу загрузки GlassFish, чтобы получить последнюю версию GlassFish. На данный момент последняя версия GlassFish 7.0.10.

Перейдите в каталог /tmp и загрузите бинарный пакет GlassFish с помощью команды wget, приведенной ниже. После завершения процесса загрузки вы должны увидеть файл glassfish-7.0.10.zip.

cd /tmp
wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.10.zip

Распакуйте файл glassfish-7.0.10.zip в каталог /opt с помощью команды unzip, приведенной ниже. Пакет GlassFish будет извлечен в каталог /opt/glassfish7.

unzip glassfish-7.0.10.zip -d /opt

Наконец, переименуйте извлеченный каталог из /opt/glassfish7 в /opt/glassfish. Затем измените право собственности на каталог µµ1µµ на пользователя glassfish.

mv /opt/glassfish7 /opt/glassfish
sudo chown -R glassfish:glassfish /opt/glassfish

Запуск GlassFish в качестве службы Systemd

После загрузки бинарного пакета GlassFish вам предстоит создать новый файл службы systemd, который будет использоваться для запуска GlassFish. Это позволит вам управлять GlassFish с помощью Утилиты systemctl и запускать GlassFish в фоновом режиме как службу systemd.

Чтобы запустить GlassFish как службу systemd, выполните приведенную ниже команду редактора nano, чтобы создать новый файл /etc/systemd/system/glassfish.service.

sudo nano /etc/systemd/system/glassfish.service

Вставьте в этот файл следующую конфигурацию.

[Unit]
Description = GlassFish Server v7
After = syslog.target network.target
[Service]
User=glassfish
ExecStart=/opt/glassfish/bin/asadmin start-domain
ExecReload=/opt/glassfish/bin/asadmin restart-domain
ExecStop=/opt/glassfish/bin/asadmin stop-domain
Type = forking
[Install]
WantedBy = multi-user.target

Сохраните и закройте файл, когда закончите.

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

sudo systemctl daemon-reload

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

sudo systemctl start glassfish
sudo systemctl enable glassfish

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

sudo systemctl status glassfish

Если все прошло успешно, вы должны увидеть статус glassfish как активный (запущенный), и он включен.

Настройка пользователей и обеспечение безопасности администрирования GlassFish

На данный момент GlassFish запущен и работает. Теперь вам предстоит настроить установку GlassFish, изменив пароль по умолчанию для Admin Console и включив Secure Admin. Это можно сделать с помощью команды asadmin, которая доступна в каталоге /opt/glassfish/bin.

Выполните приведенную ниже командную строку asadmin, чтобы изменить пароль администратора для вашей установки GlassFish.

sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 change-admin-password

Во время этого процесса вам будет задан следующий вопрос:

  • Введите пользователя-администратора по умолчанию для GlassFish.
  • Нажмите ENTER, когда вам будет предложено ввести пароль. Пользователь-администратор по умолчанию для GlassFish не имеет пароля.
  • Теперь введите новый пароль администратора GlassFish и повторите.

По завершении процесса вы должны получить сообщение следующего вида:

Затем выполните приведенную ниже команду asadmin, чтобы включить безопасное администрирование на вашей установке GlassFish.

По сути, Secure Admin обеспечивает безопасные соединения по протоколу SSL между сервером администрирования домена (DAS), удаленными экземплярами и клиентами администрирования, включая утилиту asadmin, консоль администрирования и REST-клиенты.

sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 enable-secure-admin

Введите пользователя и пароль администратора GlassFish, затем нажмите Enter. По завершении будет отображен следующий результат.

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

sudo systemctl restart glassfish

Теперь запустите веб-браузер и зайдите на IP-адрес сервера, за которым следует порт 8080, например http://192.168.5.15:8080/. Если установка GlassFish прошла успешно, вы должны получить следующую страницу, которая подтверждает, что GlassFish запущен.

Наконец, откройте новую вкладку и зайдите на тот же IP-адрес сервера с портом 4848 (т. е. https://192.168.5.15:4848/), чтобы получить доступ к странице администрирования GlassFish. Примите сертификаты SSL/TLS в своем веб-браузере, и в случае успеха вы должны получить страницу входа в систему администрирования GlassFish, показанную ниже.

Установка Nginx в качестве обратного прокси-сервера

В этом руководстве вы запустите GlassFish с Nginx в качестве обратного прокси. Итак, вы установите Nginx на свою машину Debian и создадите новую конфигурацию серверного блока для GLassFish. В данном случае мы будем использовать локальное доменное имя glassfish.howtoforge.local.

Сначала установите Nginx на вашу систему Debian с помощью следующей команды apt. Введите y, чтобы продолжить установку.

sudo apt install nginx

После установки Nginx создайте новую конфигурацию серверного блока /etc/nginx/sites-available/glassfish с помощью следующей команды редактора nano.

sudo nano /etc/nginx/sites-available/glassfish

Вставьте следующую конфигурацию и не забудьте изменить параметр server_name на имя вашего локального домена.

upstream glassfish {
    server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
    listen          80;
    server_name     glassfish.howtoforge.local;
    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://glassfish/;
    }
}

Сохраните и выйдите из файла после завершения.

Далее выполните следующую команду, чтобы активировать конфигурацию серверного блока glassfish и проверить синтаксис Nginx, чтобы убедиться в правильности синтаксиса.

sudo ln -s /etc/nginx/sites-available/glassfish /etc/nginx/sites-enabled/
sudo nginx -t

Если у вас правильный синтаксис Nginx, вы должны получить результат „тест пройден успешно – синтаксис в порядке“.

Теперь можно перезапустить службу Nginx и применить изменения. Затем проверьте службу Nginx, чтобы убедиться, что она работает.

sudo systemctl restart nginx
sudo systemctl status nginx

В следующем выводе вы должны увидеть, что служба Nginx запущена.

Доступ к установке GlassFish

В последнем разделе вы получите доступ к установке GlassFish с клиентской машины. В качестве клиентской машины вы можете использовать любую операционную систему.

Отредактируйте файл /etc/hosts на вашей локальной машине и вставьте следующую конфигурацию. Обязательно измените IP-адрес сервера и локальное доменное имя. Если вы используете клиентскую машину Windows, убедитесь, что вы изменили файл C:\Windows\System32\drivers\etc\hosts от имени администратора.

192.168.5.15    glassfish.howtoforge.local

Теперь вернитесь в веб-браузер и зайдите на доменное имя вашей установки GlassFish, например http://glassfish.howtoforge.local/. Если конфигурация обратного прокси Nginx прошла успешно, вы должны увидеть стандартную индексную страницу GlassFish, как показано ниже.

Далее зайдите на страницу администрирования GlassFish через порт 4848 (т.е. https://glassfish.howtoforge.local:4848/). На странице входа введите свой логин и пароль администратора, затем нажмите Login.

Если установка прошла успешно, у вас должна появиться панель администрирования GlassFish, как показано ниже:

Теперь щелкните на меню Сервер, чтобы проверить статус установки GlassFish. В этом примере вы должны увидеть, что GlassFish 7.0 установлен со статусом Running.

Теперь вы можете управлять сервером приложений GlassFish.

Заключение

В заключение отметим, что вы успешно установили сервер приложений GlassFish на сервер Debian 12, следуя пошаговым инструкциям. Вы установили GlassFish с Java OpenJDK 17 и Nginx в качестве обратного прокси, а также обеспечили Безопасность GlassFish, изменив стандартный пароль администратора и включив Secure Admin. Теперь вы можете приступить к развертыванию своего приложения с помощью GlassFish.

Зарубин Иван Эксперт по Linux и Windows

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

Похожие статьи

Комментарии (0)