Если стендов много, по сути больше 3, то создавать руками пользователя надоедает :)
Читать дальше →Категория: Программирование (старница 2 из 2)
Тут я поделюсь опытом, как развернуть приложение на 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;
}
На этом готово! Можно радоваться рабочему приложению!
Простейший запуск приложения на java выглядит таким образом java -jar my-app.jar
и поехали. А если нужно открыть порт для дебагера? А если затюнить параметры для JVM?
Если вируталка одна, можно запомнить/записать пароль. Но когда их становится несколько — ставить одинаковый пароль не секьюрно, записывать и хранить много не очень удобно. Куда более крутой и безопасный способ — авторизация по ssh ключу
Fullstack веб-приложение за 30 минут? Звучит интересно. Учитывая что при этом без использования css и js можно получить годный дизайн и нормальную адаптивную верстку!
Читать дальше →Появилось желание добавить кнопки «Поделиться» социальных сетей. Решил попробовать сделать
Читать дальше →Вконтакте умеет напоминать о днях рождениях push-уведомлениями, но это не всегда удобно, функционал приложений календарей намного обширней.
Собственно сразу результат: Ссылка на сервис
Дальше больше :)
Читать дальше →Задача: Читать сообщения пачками из jms очереди, делать обработку, применять какую-либо логику уже на пачку.
Хм… Задача довольно необычна, но иногда такая необходимость крайне нужна. В моем случае — это единственная возможность для организации промежуточного буфера, который разгрузит сервис, умеющий обрабатывать пакетные команды.
Читать дальше →