Как установить сервер приложений GlassFish JAVA на Ubuntu 22.04
На этой странице
- Предпосылки
- Установите Java JDK
- Загрузить сервер Glassfish
- Создание служебного файла Systemd для Glassfish
- Установите пароль для Glassfish и включите безопасный вход
- Настройка Nginx в качестве обратного прокси-сервера для Glassfish
- Настройка брандмауэра UFW
- Доступ к веб-интерфейсу Glassfish
- Заключение
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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.