Spring Boot: Deploy
Заказал vps на reg.ru под ubunt'ой. Из под консоли с помощью ssh вошел на 'сервер' и вижу перед собой пустое пост-пространство, а что дальше?
Распишите, пожалуйста, вкратце пошаговое руководство.
Ответы (1 шт):
В pom.xml нужна зависимость и тип упаковки:
<packaging>war</packaging> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>В главном классе(у меня main.java) нужно наследоваться от
SpringBootServletInitializerи переопределить методconfigure():@SpringBootApplication public class TaskApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure (SpringApplicationBuilder builder) { return builder.sources(TaskApplication.class); } public static void main(String[] args) { SpringApplication.run(TaskApplication.class, args); } }С помощью maven последовательно выполнить
cleanиpackage. На выходе в директории target должен появиться .war файл(у меня он называется task-0.0.1-SNAPSHOT.war).Далее нам понадобится обычный удаленный сервер с ОС Ubunta, можно без домена.
У меня стоит Linux поэтому инструкция будет по нему: открываем терминал, присоединяемся к удаленному серверу с помощью
ssh login@ip, и вводим пароль который нам предоставили на сервисе.
Обновляем систему
sudo apt-update,sudo apt-upgrade.Скачиваем jre
sudo apt install openjdk-8-jre-headless.Устанавливаем tomcat
sudo apt install tomcat8.Изменяем файл
vi /etc/tomcat8/tomcat-users.xml: добавляем строчку<user username="root" password="password" roles="manager-gui"/>в самый низ перед закрывающим тэгом.
Перезагружаем tomcat
sudo systemctl restart tomcat8.Открываем браузер, пишем в строку поиска ip-сервера:8080/manager/html и вводим данные которые писали в строке файла из пункта 9.
После входа можно смело загружать наш .war файл и жать deploy.
После деплоя наши файлы будут находиться в /var/lib/tomcat8/webapps.
Вероятно, вы как и я, захотите запускать свое приложение из-под корня, тогда вам следует потратить еще немного времени:
- На сервере с томкатом переходим в папку с нашими проектами
cd /var/lib/tomcat8/webappsи удаляем директорию ROOT с помощьюrm -r ROOT. - Создаем директорию заново
mkdir ROOT. - Открываем у себя на компьютере терминал и пишем
sudo scp <путь к .war> login@ip:/var/lib/tomcat8/webapps. Должно получиться что то вроде такого.
Если будете получать ошибку "Страница недоступна" или подобную ей, попробуйте перезагрузить сервер на хостинге.
