GlassFish – это полноценная эталонная реализация сервера приложений Java EE с открытым исходным кодом для разработки и развертывания приложений на основе Java. Он поддерживает JPA, JSF, JSP/Servlet, JMS, RMI, а также многие другие технологии на основе Java. Он также предоставляет веб-консоли и консоли администрирования на основе CLI для упрощения настройки и управления вашими Java-приложениями и их соответствующими компонентами.
GlassFish поддерживается и развивается в рамках проекта GlassFish. Он лицензируется в рамках Общей лицензии на разработку и распространение (CDDL), а также GNU General Public License (GPL). Проект в настоящее время спонсируется Oracle.
В этой статье мы покажем вам, как установить GlassFish на Linux VPS с ОС Ubuntu 18.04.
Предпосылки:
Убедитесь, что ваш сервер соответствует следующим минимальным требованиям:
- VPS с работающей на нем Ubuntu 18.04 (желательно новая установка)
- Учетная запись пользователя с root-доступом или доступом к «root» пользователю
Установите обновления и исправление зависимости
Войдите на свой сервер через SSH:
ssh username@server_ip
Не забудьте заменить «username» именем пользователя, которое вы хотите использовать на сервере, а также заменить «server_ip» на IP-адрес вашего сервера.
Перед началом установки сервера GlassFish рекомендуется обновить системные пакеты до их последних версий, если они доступны:
sudo apt-get update sudo apt-get upgrade
Установите зависимости пакета программного обеспечения, необходимые GlassFish, с помощью следующей команды:
sudo apt-get install software-properties-common wget unzip
Установка и настройка Java 8
Поскольку GlassFish работает на Java, он должен быть сначала установлен и настроен на вашем сервере Ubuntu. На момент написания статьи GlassFish 5.0 поддерживает только Java 8.
Эта команда установит Oracle JDK 8 с использованием репозитория PPA:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
После установки вы можете проверить активную версию Java с помощью этой команды:
sudo java -version
Вы должны увидеть следующее сообщение:
java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
Обновление переменной среды Java
Большинство приложений Java используют переменную JAVA_HOME при определении местоположения вашей установки Java.
Чтобы проверить, установлена у вас JAVA_HOME, введите следующую команду:
echo $JAVA_HOME
Если вы видите пустую строку, это означает, что нет настроенной переменной JAVA_HOME. Если есть, вы можете дважды проверить, использует ли он правильный путь, выполнив следующие шаги.
Чтобы определить текущее местоположение Java, используйте следующую команду:
sudo update-alternatives --config java
Выходные данные должны показать вам путь установки Java, например:
/usr/lib/jvm/java-8-oracle/jre/bin/java
Теперь нам нужно добавить местоположение Java в наш файл среды. Измените путь в соответствии с вашим путем Java:
sudo echo JAVA_HOME=\"/usr/lib/jvm/java-8-oracle/bin/java\" >> /etc/environment
После этого нам потребуется исходный файл для обновления нашей оболочки:
source /etc/environment
Теперь вы можете проверить, установлен ли JAVA_HOME, используя одну из следующих команд:
echo $JAVA_HOME $JAVA_HOME -version
Установка последнего сервера GlassFish
На момент написания этой статьи последняя версия GlassFish Server – 5.0.1.
Во-первых, нам нужно изменить наш текущий каталог на / opt:
cd /opt
Теперь мы можем загрузить последнюю версию GlassFish для ночных сборок с их официального сайта GlassFish.
sudo wget http://download.oracle.com/glassfish/5.0.1/nightly/latest-glassfish.zip
Извлеките файлы в текущий каталог. Вы можете выбрать другой каталог, если хотите сохранить установку GlassFish в другом месте.
sudo unzip latest-glassfish.zip
Чтобы извлечь в конкретный каталог:
sudo unzip latest-glassfish.zip -d /path/to/desired/directory
Настройка службы GlassFish
Создайте файл сервиса:
sudo nano /etc/systemd/system/glassfish.service
Скопируйте и вставьте следующее. Измените путь GlassFish относительно каталога вашей установки GlassFish:
[Unit]
Description = GlassFish Server v5.0
After = syslog.target network.target
[Service]
ExecStart=/opt/glassfish5/bin/asadmin start-domain
ExecReload=/opt/glassfish5/bin/asadmin restart-domain
ExecStop=/opt/glassfish5/bin/asadmin stop-domain
Type = forking
[Install]
WantedBy = multi-user.target
Сохранить и выйти. Теперь нам нужно перезагрузить системные службы:
sudo systemctl daemon-reload
Управление Сервисом GlassFish
Чтобы включить GlassFish при загрузке:
sudo systemctl enable glassfish
Чтобы запустить GlassFish:
sudo systemctl start glassfish
Проверьте статус сервиса с помощью этой команды:
sudo systemctl status glassfish
Доступ к GlassFish
После запуска GlassFish вы можете получить доступ к странице по умолчанию на порту 8080.
http://<server-ip-address>:8080
Вы можете получить доступ к консоли веб-администратора через порт 4848.
http://<server-ip-address>:4848
Не забудьте заменить «server-ip-address» на IP-адрес вашего сервера.
Настройка пути GlassFish
У GlassFish есть утилита asadmin, которая принимает команды для настройки GlassFish через командную строку. Чтобы запустить исполняемый файл asadmin в любом месте, выполните следующую команду:
export PATH=/opt/glassfish5/bin:$PATH
Защита консоли администратора GlassFish
Пароль администратора по умолчанию пуст. Чтобы обновить пароль администратора, выполните следующую команду:
asadmin change-admin-password
Enter admin user name [default: admin]>admin
Enter the admin password> <blank>
Enter the new admin password>
Enter the new admin password again>
Command change-admin-password executed successfully.
После смены пароля администратора нам теперь нужно включить функцию «безопасный администратор». Он запросит учетные данные, которые мы добавили ранее.
asadmin enable-secure-admin
Мы должны перезапустить GlassFish, чтобы изменения вступили в силу:
sudo systemctl restart glassfish
Тестирование GlassFish
Теперь, когда у нас есть сервер GlassFish, который использует безопасный доступ администратора, мы можем теперь протестировать сервер, развернув образец файла WAR.
Сначала нам нужно загрузить образец WAR-файла в корневой каталог документа domain1:
cd /opt/glassfish5/glassfish/domains/domain1/docroot/ sudo wget https://github.com/dmatej/Glassfish/raw/master/v2/www/downloads/quickstart/hello.war
Для развертывания выполните следующую команду. Он запросит учетные данные администратора:
asadmin deploy hello.war
После успешного развертывания перейдите к:
http://<server-ip-address>:8080/hello
Вы должны увидеть следующее сообщение:
Hi, my name is Duke. What’s yours?
И это все! Теперь у вас есть работающий сервер GlassFish на вашем Ubuntu 18.04 VPS.