Рубрики
Без рубрики

Как опубликовать приложение Spring Boot в облаке – webtutsplus

Этот урок будет основан на предыдущем уроке, но вам не нужно будет сначала проходить предыдущий урок, чтобы выполнить этот. На этот раз мы возьмем этот простой пружинный ботинок…

Автор оригинала: Nilmadhab mondal.

Этот урок будет основан на предыдущем уроке но вам не нужно будет сначала проходить предыдущий урок, чтобы сделать это.

На этот раз мы возьмем тот простой API Spring Boot, который мы создали в предыдущем уроке, и запустим его в облаке. Чтобы иметь возможность сделать это, нам нужно будет найти себе VPS или виртуальный частный сервер. VPS-это виртуальная операционная система, которая работает в центре обработки данных компании. Таким образом, мы не арендуем чей-то компьютер целиком, мы арендуем часть его компьютера, в нашем случае мы арендуем только одно из его процессорных ядер (большинство современных ноутбуков имеют 4 ядра, некоторые даже больше), 1 ГБ оперативной памяти и 25 ГБ хранилища. Так что давайте начнем с этого, хорошо?

Требования

  • Терминал. Это не обязательно является обязательным требованием, поскольку вы можете получить доступ к терминалу с веб-сайта Digital Ocean, но после моего тестирования я обнаружил, что их терминал работает немного медленно, поэтому я предпочитаю просто использовать терминал, поставляемый с моей операционной системой.
  • Учетная запись в Digital Ocean (или у любого другого провайдера VPS).

Настройка VPS

Для начала отправляйтесь в Цифровой океан и нажмите “Войти” или “Зарегистрироваться” (или на поставщика VPS по вашему выбору).

Как только у вас появится учетная запись, вы сможете перейти на свою панель мониторинга. Нажмите “Создать” , а затем “Капли”.

Для нашего droplet мы собираемся выбрать Ubuntu 20.04 (LTS) в качестве нашего образа по выбору. Для непосвященных это очень простой в использовании дистрибутив Linux на основе Debian, он также используется мной лично. Мы просто выберем базовый план в размере 5 долларов в месяц, так как нет причин покупать что-то более дорогое. Мы не собираемся добавлять какое-либо хранилище блоков. Не стесняйтесь выбирать любой регион, который вы хотите, лично я просто собираюсь выбрать Франкфурт. Мы не собираемся получать никаких дополнительных опций. Наш вариант аутентификации будет осуществляться с помощью пароля, поэтому введите пароль root по вашему выбору. Когда вы дойдете до пункта “Выберите имя хоста”, вы должны дать ему имя по вашему выбору, так как именно так вы узнаете свою каплю, а я не знаю о вас но если бы у меня был список капель с именем, похожим на “ubuntu-s-1 vcpu-1 ГБ-бесплатно 1-01”, я бы никогда не смог отличить их друг от друга, поэтому я просто изменю свое имя хоста на что-то более узнаваемое, “Spring-Boot-Cloud”. Я также не собираюсь включать резервное копирование, так как сомневаюсь, что эта капля прослужит очень долго. Нажмите на кнопку “Создать каплю”.

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

Когда вы откроете консоль в первый раз, она запросит ваш “Логин”, вы просто наберете “root”. Затем он запросит ваш пароль, это пароль, который вы должны были ввести, когда изначально создавали свою каплю. После этого вы увидите что-то вроде этого:

Использование вашего терминала

Если вы похожи на меня и предпочитаете использовать терминал своего компьютера, вы можете следовать этой части, в противном случае не стесняйтесь пропустить эту часть. Начните с открытия терминала и введите эту команду (замените YOUR_IP IP-адресом вашей капли).:

ssh root@YOUR_IP

Это должно дать вам сообщение типа: “Подлинность хоста” YOUR_IP (YOUR_IP) ” не может быть установлена. Отпечаток ключа ECDSA-это SHA256:STRING_OF_CHARACTERS. Вы уверены, что хотите продолжить подключение (да/нет/[отпечаток пальца])? “. Просто введите “да”. Он добавит его в список известных хостов, а затем закроет соединение, просто перепечатать

ssh root@YOUR_IP

или просто нажмите стрелку вверх. Он запросит у вас пароль, это пароль, который вы создали при настройке своей капли. Вы должны увидеть что-то подобное:

Обновление, обновление и установка

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

apt-get update && apt-get upgrade && apt-get autoremove

Если в любой момент появится сообщение типа “Вы хотите продолжить? [Y/n]” всплывает, вы можете просто нажать “y”, а затем “Enter”.

Установка необходимых пакетов

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

apt-get install openjdk-8-jdk openjdk-8-jre mysql-server maven

Это позволит установить Java 8 JDK и среду выполнения, MySQL и Maven. Maven будет использоваться для создания файла JAR нашего проекта.

Настройка MySQL

Далее нам нужно настроить нашу базу данных MySQL, для начала введите эту команду:

mysql_secure_installation

Это поможет вам все настроить. Если вы сомневаетесь в чем-то, просто скажите “нет”, что в данном случае означает просто нажмите enter. Когда он запросит ваш пароль, введите пароль, который вы запомните, так как он вам понадобится позже. Когда он спросит, хотите ли вы перезагрузить таблицы привилегий сейчас, скажите “да”. Далее давайте создадим базу данных пользователей. Начните с ввода этого в терминал:

mysql

Это приведет вас к монитору MySQL, где мы теперь можем создать нашу новую базу данных с помощью этой команды:

CREATE DATABASE users;

При тестировании у меня возникла проблема, из-за которой у моего приложения Spring Boot возникли проблемы с доступом к базе данных. Я нашел эту команду, которая, казалось, работала:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD';
FLUSH PRIVILEGES;

После этого вы можете выйти из MySQL monitor с помощью команды:

exit

Настройка JAVA_HOME

Наконец, нам нужно установить переменную JAVA_HOME, чтобы Maven знал, где находится JDK. Мы можем использовать nano для редактирования нашей среды:

nano /etc/environment

Под переменной PATH добавьте эту строку:

JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"

Когда вы закончите, вы можете нажать Ctrl+X, он спросит вас, хотите ли вы сохранить, введите “y”, а затем нажмите Enter.

Чтобы заставить ОС распознать новую переменную, мы должны выполнить эту команду:

source /etc/environment

Чтобы убедиться, что это сработало, вы можете запустить:

echo $JAVA_HOME

Это должно вернуть путь к месту установки JDK.

Составление нашей программы

Все, что нам остается сделать, это скомпилировать наше приложение Spring Boot в файл JAR. Давайте начнем с загрузки исходных файлов с bitbucket:

git clone https://PsionicAlch@bitbucket.org/java-spring-1994/api-tutorial.git

Это приведет к клонированию проекта в наш домашний файл. Теперь нам нужно изменить некоторые переменные приложения, чтобы наше приложение знало, как получить доступ к нашей базе данных. Введите эту команду:

nano api-tutorial/src/main/resources/application.properties

Это откроет наш файл application.properties в nano. Измените “ИМЯ ПОЛЬЗОВАТЕЛЯ” на root, а “ПАРОЛЬ” на пароль, который вы использовали для настройки MySQL. Не забудьте сохранить свой файл, как вы делали это раньше. Теперь о той части, которая заставляет меня немного нервничать, так как она причинила мне столько горя, когда я готовился к этому уроку. Чтобы скомпилировать приложение, выполните эту команду:

cd api-tutorial/ && mvn clean install

Если вы получаете сообщение “СБОРКА ПРОШЛА УСПЕШНО”, это означает, что ваш проект успешно скомпилирован и что теперь у вас есть файл JAR, который вы можете запустить. Для этой части я собираюсь вернуться к терминалу на веб-сайте DigitalOcean, потому что это позволит мне запускать программу в фоновом режиме даже после того, как я закрыл свой терминал.

Запуск вашего приложения

Чтобы запустить только что созданный файл JAR, вам нужно будет изменить каталоги с помощью этой команды:

cd api-tutorial/target

Теперь для запуска файла JAR вы можете использовать эту команду:

java -jar tutorial-0.0.1-SNAPSHOT.jar

Теперь у вас должно быть запущенное приложение Spring Boot, к которому можно получить доступ из Интернета. Давайте проверим это!

Тестирование нашего приложения

Чтобы создать нового пользователя, вы можете выполнить эту команду (замените YOUR_IP IP-адресом вашего сервера).:

curl -H "Content-Type: application/json" -X POST -d '{
    "username": "test",
    "password": "test"
}' http://46.101.208.101:8080/users/register

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

Спасибо, что прочитали это.

Хорошего вам дня!

Оригинал: “https://www.codementor.io/@nilmadhab/how-to-publish-your-spring-boot-app-to-the-cloud-webtutsplus-1crq64t06x”