Поиск по сайту:

Как установить сервер Java-приложений GlassFish с обратным прокси-сервером Nginx в AlmaLinux 9


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

В этом руководстве показано, как установить GlassFish на сервер AlmaLinux 9 с обратным прокси-сервером Nginx. Мы также расскажем, как защитить GlassFish, включив аутентификацию и настроив безопасное соединение SSL/TLS для администрирования GlassFish.

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

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Сервер AlmaLinux 9.
  • Пользователь без полномочий root с правами администратора.
  • Локальное доменное имя указывает на IP-адрес сервера.

Настройка зависимостей

Сначала вам необходимо настроить систему AlmaLinux, добавив системного пользователя, который будет использоваться для запуска GlassFish, а затем установить пакеты Java OpenJDK.

Перед установкой любого пакета создайте нового системного пользователя glassfish с помощью приведенной ниже команды. У этого пользователя будет домашний каталог по умолчанию /opt/glassfish7, который будет использоваться в качестве каталога установки GlassFish.

sudo useradd -m -d /opt/glassfish7 -U -s /bin/false glassfish

Теперь установите Java OpenJDK 21 и разархивируйте пакеты с помощью команды ниже. Введите y, чтобы продолжить установку.

sudo dnf install java-21-openjdk unzip nano

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

java --version

Загрузка пакета GlassFish

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

Загрузите пакет GlassFish, используя команду wget ниже.

wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.12.zip

После загрузки извлеките файл glassfish-7.0.12.zip в каталог /opt с помощью следующей команды разархивирования. Это приведет к извлечению GlassFish в каталог /opt/glassfish7.

unzip glassfish-7.0.12.zip -d /opt

Наконец, измените владельца каталога /opt/glassfish7 на пользователя glassfish. Это связано с тем, что вы будете запускать GlassFish от имени системного пользователя glassfish.

sudo chown -R glassfish:glassfish /opt/glassfish7

Настройка службы systemd для GlassFish

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

Создайте новый файл службы systemd /etc/systemd/system/glassfish7.service, используя следующий редактор nano.

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

Вставьте конфигурацию systemd ниже для GlassFish.

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

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

Теперь перезагрузите менеджер systemd, чтобы применить новый служебный файл.

sudo systemctl daemon-reload

Затем запустите и включите GlassFish с помощью команды ниже. После запуска GlassFish должен работать на портах 8080 и 4848.

sudo systemctl start glassfish7
sudo systemctl enable glassfish7

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

sudo systemctl status glassfish7

Настройка администратора GlassFish

На данный момент GlasFish работает в вашей системе как служба systemd. Теперь вам необходимо подтвердить права администратора для GlassFish и настроить Enable-secure-admin для обеспечения безопасности администрирования GlassFish.

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

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

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

После завершения процесса вы должны получить вывод «Команда смены пароля администратора выполнена успешно».

После настройки пароля администратора для GlassFish выполните следующую команду, чтобы включить функцию безопасного администратора. Это автоматически создаст сертификаты SSL/TLS для GlassFish.

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

Когда вас спросят, введите имя администратора и пароль для GlassFish. После успешного завершения процесса вы должны увидеть вывод «Команда Enable-secure-admin выполнена успешно».

Наконец, перезапустите службу glassfish7, чтобы применить изменения к вашему GlassFish. После выполнения команды ваша установка GlassFish должна быть защищена, пользователь-администратор должен иметь новый пароль и сгенерированы сертификаты TLS для администратора GlassFish.

sudo systemctl restart glassfish7

Запуск GlassFish с обратным прокси-сервером Nginx

В этом руководстве вы будете запускать GlassFish за обратным прокси-сервером Nginx. Итак, теперь вам нужно установить Nginx на ваш сервер AlmaLinux, а затем создать новую конфигурацию блока сервера для обратного прокси.

Установите веб-сервер Nginx на свой AlmaLinux, используя команду ниже. Введите y, чтобы перейти к установке.

sudo dnf install nginx

После завершения установки создайте новую конфигурацию блока сервера /etc/nginx/conf.d/glassfish.conf, используя следующую команду редактора nano.

sudo nano /etc/nginx/conf.d/glassfish.conf

Вставьте следующую конфигурацию, чтобы настроить обратный прокси-сервер для GlassFish, который по умолчанию работает на порту 8080. Обязательно измените указанное ниже имя домена на свой локальный домен.

upstream glassfish7 {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name glassfish.hwdomain.io;
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://glassfish7/;
}
}

Когда вы закончите, сохраните и выйдите из файла.

Теперь проверьте синтаксис Nginx, используя команду ниже. Если у вас правильный синтаксис, вы должны получить вывод: «Синтаксис в порядке — тест успешен».

sudo nginx -t

Затем запустите и включите Nginx на вашем сервере AlmaLinux с помощью команды ниже.

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo systemctl status nginx

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

Настройка брандмауэра

Когда Nginx запущен и работает, вы должны открыть порт HTTP на своем сервере через firewalld. Кроме того, вы также можете открыть порт 4848, который используется администратором GlassFish.

Откройте службу HTTP и HTTPS на firewalld с помощью команды ниже.

sudo firewall-cmd --add-service={http,https} --permanent

Откройте TCP-порт 4848, который будет использоваться для администрирования GlassFish.

sudo firewall-cmd --add-port=4848/tcp --permanent

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

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Ниже вы можете увидеть службы HTTP, HTTPS и порт 4848, добавленные в firewalld.

Доступ к GlassFish

Откройте веб-браузер и посетите свое доменное имя для GlassFish, например http://glassfish.hwdomain.io/. Если установка прошла успешно, вы должны получить индексную страницу GlassFish, как показано ниже.

Теперь откройте новую вкладку и посетите http://glassfish.hwdomain.io:4848/, чтобы получить доступ к администрированию GlassFish. Введите администратора по умолчанию и свой пароль, затем нажмите «Войти».

Если у вас правильный пароль, вы должны увидеть панель управления GlassFish.

Заключение

Поздравляем! Теперь вы успешно установили GlassFish на сервер AlmaLinux 9. Вы установили GlassFish, настроили пользователя-администратора и закрепили права администратора для GlassFish. Наконец, вы также установили и настроили Nginx в качестве обратного прокси-сервера для вашей установки GlassFish.

Статьи по данной тематике: