Появилась идея сформировать свои знания и начать передавать их аудитории. Это начинание поддержал #Skyeng за что им огромное спасибо. Вот я собрал вещи и полетел в солнечный Дагестан. Что такое BPMN, для чего это может вам потребоваться, как помочь, а как нет
Сегодня почти все, кто работает с кодом, хранят его в системах контроля версий, а именно git. Я очень часто вижу коммиты вроде — fix bug, implement some awesome feature, да я и сам периодически грешу подобным, давайте разберёмся, почему же важно писать адекватные сообщения и как стоит это делать, что бы было круто
Сегодня расскажу историю о том, как я преподавать начал. Начну с небольшого предисловия — моего первого опыта в этом деле. Внутри будет бонус для тех, кто начинает познавать java.
В промышленной эксплуатации важна стабильность и отказоустойчивость. Запустить приложение через java -jar app.jar крайне опасно. При перезапуске сервера, оно не поднимется, написанное решение не будет работать, заказчик недоволен. Нужно подключаться и срочно все поднимать
Закинем фронт в /var/www/ui, бек в /opt/backend. Пути тут не принципиальны, но принято именно туда закидывать, будем придерживаться стандартов, дабы не усложнять будущую поддержку.
Доконфигурируем UI. В package.json добавим параметр, это нужно, что бы если фронт будем разворачивать не в корне, а по какому-нибудь context path, react подгружал статики по относительному пути, а не от корня
"homepage": ".",
Сконфигурируем nginx. Тут важные моменты — alias, к слову если мапите в корень, то можно пропустить пункт с доконфигом UI, и без этого будет работать.
location /ui {
alias /var/www/ui/;
# Alias используем на случай мапинга в path, если мапим /, то root
#root /var/www/ui/;
#try_files $uri /index.html;
autoindex off;
}
Теперь для бека. Тут настроим проксирование. Сервер же у нас настроен правильно, порты закрыты, кроме 443 и 80. Так что без этого не заработает
Простейший запуск приложения на java выглядит таким образом java -jar my-app.jar и поехали. А если нужно открыть порт для дебагера? А если затюнить параметры для JVM?
Если вируталка одна, можно запомнить/записать пароль. Но когда их становится несколько — ставить одинаковый пароль не секьюрно, записывать и хранить много не очень удобно. Куда более крутой и безопасный способ — авторизация по ssh ключу