Page 2 of 4

Unix. Сделать из приложения сервис

В промышленной эксплуатации важна стабильность и отказоустойчивость. Запустить приложение через java -jar app.jar крайне опасно. При перезапуске сервера, оно не поднимется, написанное решение не будет работать, заказчик недоволен. Нужно подключаться и срочно все поднимать

Читать дальше →

Скрипт для создания пользователей на unix сервере

Если стендов много, по сути больше 3, то создавать руками пользователя надоедает :)

Читать дальше →

UI ReactJS + Java Back. Разворачиваем на стенд

Тут я поделюсь опытом, как развернуть приложение на react + java на linux стенде.

В качестве http сервера будем использовать nginx

Считаем, что фронт и бек уже написаны. Фронт поднимается на localhost:3000, бек, пусть на localhost:8080/rest, и также настроена поддержка CORS

Разворачивать будем на https://host.name

Перенастроим адрес бека в react на https://host.name/rest, в беке пропишем адрес для cors https://host.name

Закинем фронт в /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. Так что без этого не заработает

location /rest {         
  proxy_pass http://localhost:8080;         
  proxy_read_timeout 360s;         
  proxy_redirect http https;         
  proxy_buffering off;         
  proxy_http_version 1.1;     
}

На этом готово! Можно радоваться рабочему приложению!

Простейший sh скрипт для запуска java приложения

Простейший запуск приложения на java выглядит таким образом java -jar my-app.jar и поехали. А если нужно открыть порт для дебагера? А если затюнить параметры для JVM?

Читать дальше →

Авторизация на сервере по ssh ключу

Если вируталка одна, можно запомнить/записать пароль. Но когда их становится несколько — ставить одинаковый пароль не секьюрно, записывать и хранить много не очень удобно. Куда более крутой и безопасный способ — авторизация по ssh ключу

Читать дальше →

Одиночная ночевка в лесу без палатки

Начну с небольшой предыстории. Еще пару лет назад, от такого предложения я бы точно отказался. «Нет, это точно не про меня» — подумал бы я.

И вот я уже собираю рюкзак…

Читать дальше →

Нож в спину #ШколаСилы

В этот раз развитие «объемного зрения».
Когда-то я увидел этот трюк в исполнении моих тренеров Алексея и его супруги Марии Афанасьевых.
Даже смотреть страшно.

Читать дальше →

Выживание в лесу #ШколаСилы

Вторая ночевка в лесу без палаток. В этот раз в лесу лежал снег, а у нас не было ни еды, ни воды.


Это есть сухой голод. Нам предстояло испытание длиной в сутки.
Из снаряжения у нас были только топоры, пилу не взяли специально, рубить более энерго затратно.

Читать дальше →

Отключение боли #ШколаСилы

Обучение продолжается, новые умения, новые возможности.

Читать дальше →

Выживание в лесу #ШколаСилы

Первое видео из цикла, с авторского тренинга Алексея Афанасьева «Сверхвозможности человека»
Участником которого, мне посчастливилось стать!

Читать дальше →