Как корректно деплоить Spring Boot приложение на рабочий сервер?
Доброго времени суток!
Имеется несколько вопросов ответы, на которые я хотел бы услышать. Хотелось бы узнать мнение профессионалов, которые не первый день работают со Spring (Spring Boot).
1) Какой из методов деплоя предпочтительнее на production? Деплой со встроенным tomcat и запуск jar файла.
Подразумевается, что:
обран jar,
создан сервис в init.d ln -s /var/example/example.jar /etc/init.d/example
проект запущен через service example start Деплой на внешний tomcat и запуск файла war (или war exploded)
(Варианты деплоя на Heroku, Google Cloud и т.д. пока не рассматриваю)
2) Как корректно подключить SSL для Spring Boot приложения? У меня на хостинге (vps) установлен Vesta CP и для домена настроен LE сертификат. Приложение добавленное с self-contained tomcat работает без ssl. При обращении к SSL выдается ошибка.
3) На хостинге настроен apache (не томкат) + nginx. Что именно требуется обновить в конфигурации nginx для домена, чтобы сайт был доступен по адресу example.com, а не example.com:8080
4) При деплое приложения на внешний tomcat, где именно файлы сайта (war exploded) должны располагаться? В месте установки tomcat /opt/tomcat/webapps/ или там, где публичная директория самого домена? Насколько я понял, чтобы она была доступна в публичной директории, то ее нужно сконфигурировать tomcat.