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

Как установить сервер приложений GlassFish JAVA на Ubuntu 22.04


На этой странице

  1. Предпосылки
  2. Установите Java JDK
  3. Загрузить сервер Glassfish
  4. Создание служебного файла Systemd для Glassfish
  5. Установите пароль для Glassfish и включите безопасный вход
  6. Настройка Nginx в качестве обратного прокси-сервера для Glassfish
  7. Настройка брандмауэра UFW
  8. Доступ к веб-интерфейсу Glassfish
  9. Заключение

Glassfish — это бесплатный сервер с открытым исходным кодом, используемый для развертывания приложений на основе Java. Это позволяет разработчикам разрабатывать удобные и масштабируемые корпоративные приложения. Проект Glassfish был начат Sun Microsystem, а сейчас спонсируется корпорацией Oracle. Он поставляется под двумя лицензиями на бесплатное программное обеспечение: Common Development and Distribution License и GNU General Public License.

В этом посте мы покажем вам, как установить сервер Glassfish с Nginx в качестве обратного прокси-сервера на Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 22.04.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Установите Java JDK

Glassfish — это приложение на основе Java. Поэтому вам нужно будет установить Java JDK на свой сервер. Вы можете установить его, выполнив следующую команду:

apt-get install default-jdk unzip -y

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

java --version

Вы получите версию Java в следующем выводе:

openjdk 11.0.15 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Скачать сервер Glassfish

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

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

После завершения загрузки разархивируйте загруженный файл в каталог /opt:

unzip glassfish-6.1.0.zip -d /opt/

Создайте служебный файл Systemd для Glassfish

Далее вам нужно будет создать файл службы systemd для управления службой Glassfish. Вы можете создать его с помощью следующей команды:

nano /usr/lib/systemd/system/glassfish.service

Добавьте следующие строки:

[Unit]
Description = GlassFish Server v6.1.0
After = syslog.target network.target

[Service]
User = root
ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domain
Type = forking

[Install]
WantedBy = multi-user.target

Сохраните и закройте файл, затем перезагрузите демон systemd, чтобы применить изменения.

systemctl daemon-reload

Затем запустите службу Glassfish и включите ее запуск при перезагрузке системы:

systemctl start glassfish
systemctl enable glassfish

Вы также можете проверить статус службы Glassfish с помощью следующей команды:

systemctl status glassfish

Вы должны увидеть следующий вывод:

? glassfish.service - GlassFish Server v6.1.0
     Loaded: loaded (/lib/systemd/system/glassfish.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-05-12 15:39:16 UTC; 4s ago
    Process: 5313 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC>
   Main PID: 5326 (java)
      Tasks: 92 (limit: 2292)
     Memory: 289.3M
        CPU: 12.563s
     CGroup: /system.slice/glassfish.service
             ??5326 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp>

May 12 15:39:04 ubuntu systemd[1]: Starting GlassFish Server v6.1.0...
May 12 15:39:16 ubuntu java[5313]: Waiting for domain1 to start ..........
May 12 15:39:16 ubuntu java[5313]: Successfully started the domain : domain1
May 12 15:39:16 ubuntu java[5313]: domain  Location: /opt/glassfish6/glassfish/domains/domain1
May 12 15:39:16 ubuntu java[5313]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log
May 12 15:39:16 ubuntu java[5313]: Admin Port: 4848
May 12 15:39:16 ubuntu java[5313]: Command start-domain executed successfully.
May 12 15:39:16 ubuntu systemd[1]: Started GlassFish Server v6.1.0.

Установите пароль для Glassfish и включите безопасный вход

По умолчанию администратор Glassfish не имеет пароля. Так что вам нужно будет установить его в первую очередь. Вы можете установить его с помощью следующей команды:

/opt/glassfish6/bin/asadmin --port 4848 change-admin-password

Вас попросят указать имя пользователя:

Enter admin user name [default: admin]>admin

Укажите admin в качестве имени пользователя и нажмите клавишу Enter. Вам будет предложено ввести пароль:

Enter the admin password> 

Просто нажмите клавишу Enter, ничего не вводя. Вам будет предложено установить новый пароль:

Enter the new admin password> 
Enter the new admin password again> 

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

Command change-admin-password executed successfully.

Далее вам также необходимо включить безопасный вход в систему. Вы можете включить его с помощью следующей команды:

/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin

Вам будет предложено ввести пользователя-администратора и пароль для обеспечения безопасного входа в систему.

Enter admin user name>  admin
Enter admin password for user "admin"> 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

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

systemctl restart glassfish

Настройте Nginx в качестве обратного прокси для Glassfish

Далее вам нужно будет установить и настроить Nginx в качестве обратного прокси для Glassfish. Сначала установите сервер Nginx с помощью следующей команды:

apt-get install nginx -y

После установки Nginx создайте файл конфигурации виртуального хоста Nginx:

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

Добавьте следующую конфигурацию:

upstream glassfish {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     glassfish.example.com;

  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/hello/;
  }
}

Сохраните и закройте файл, когда закончите, затем проверьте Nginx на наличие ошибок конфигурации синтаксиса с помощью следующей команды:

nginx -t

Если все в порядке, вы получите следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

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

systemctl restart nginx

Вы также можете проверить статус Nginx с помощью следующей команды:

systemctl status nginx

Вы должны увидеть следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-05-12 16:09:38 UTC; 6s ago
       Docs: man:nginx(8)
    Process: 5687 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 5689 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 5690 (nginx)
      Tasks: 2 (limit: 2292)
     Memory: 2.6M
        CPU: 39ms
     CGroup: /system.slice/nginx.service
             ??5690 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??5691 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

May 12 16:09:38 ubuntu systemd[1]: Starting A high performance web server and a reverse proxy server...
May 12 16:09:38 ubuntu systemd[1]: Started A high performance web server and a reverse proxy server.

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

В целях безопасности рекомендуется установить и настроить брандмауэр UFW в вашей системе. Сначала установите брандмауэр UFW с помощью следующей команды:

apt install ufw -y

После установки брандмауэра UFW разрешите все необходимые порты и службы с помощью следующей команды:

ufw allow 'Nginx Full'
ufw allow OpenSSH
ufw allow 4848/tcp
ufw allow 8080/tcp

Затем включите брандмауэр UFW для запуска после перезагрузки системы:

ufw enable

Теперь вы можете проверить состояние брандмауэра UFW с помощью следующей команды:

ufw status

Вы получите следующий вывод:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx Full                 ALLOW       Anywhere                  
8080/tcp                   ALLOW       Anywhere                  
4848/tcp                   ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx Full (v6)            ALLOW       Anywhere (v6)             
8080/tcp (v6)              ALLOW       Anywhere (v6)             
4848/tcp (v6)              ALLOW       Anywhere (v6)             

Доступ к веб-интерфейсу Glassfish

Теперь вы можете получить доступ к Glassfish, используя URL-адрес http://glassfish.example.com. Вы должны увидеть следующую страницу:

Чтобы получить доступ к интерфейсу администратора Glassfish, введите URL-адрес https://your-server-ip:4848. Вы будете перенаправлены на страницу входа в систему Glassfish:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Glassfish на следующей странице:

Нажмите на сервер на левой панели. Вы должны увидеть страницу с общей информацией.

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

Нажмите на узлы на левой панели. Вы должны увидеть узел Glassfish на следующей странице.

Щелкните Приложения на левой панели. Вы должны увидеть все развернутые приложения на следующей странице.

Заключение

В этом посте мы объяснили, как установить сервер Glassfish с Nginx в качестве обратного прокси-сервера в Ubuntu 22.04. Теперь вы можете приступить к развертыванию приложения Java с помощью сервера Glassfish. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.