Как мне развернуть мое веб-приложение на основе JVM в Ubuntu?
Я разработал веб-приложение с использованием clojure/compojure (на основе JVM), и во время разработки я протестировал его с использованием встроенной пристани, которая работает на 0.0.0.0:8080
, Теперь я хотел бы развернуть его для работы на порте 80 в Ubuntu. Я занимаюсь динамическим виртуальным хостингом, поэтому мое приложение должно обрабатывать любой запрос на любой хост, который поступает на порт 80.
Проблемы, которые меня беспокоят:
- Я все еще могу запустить его встроенным, но я беспокоюсь о том, чтобы запустить мое приложение от имени пользователя root (необходим для привязки к порту 80). Я не уверен, смогу ли я "отказаться от рута" в JVM. Должен ли я быть обеспокоен этим?
- кроме того, обслуживание веб-приложений является известной проблемой, и я должен использовать известные решения для этого (Jetty или Tomcat)
- но особенно кот кажется очень тяжелым весом. Кроме того, у меня есть только одно приложение, которое слушает
/*
и делает маршрутизацию внутри. (с композицией / кольцом). С этим я пытаюсь сказать, что tomcat по умолчанию назначает WAR подпапкам, которые мне не нужны.
Поэтому в основном мне нужен какой-то очень безопасный способ привязки к порту 80 в Ubuntu, который может с минимальными помехами отправлять все запросы моему приложению. Есть идеи?
1 ответ
- он не должен запускаться от имени пользователя root. Я знаю, что когда вы разрабатывали свое приложение, вы использовали root. Но при развертывании просто убедитесь, что пользователь, которому вы предоставляете приложение, имеет те же разрешения или, возможно, в одной группе для всех файлов, к которым обращается ваше веб-приложение.
- Tomcat тоже неплох, но вы правы. Это идет со многими другими дополнениями.
- Tomcat не требует наличия военного файла для развертывания. Вы можете переместить ваше веб-приложение в webapp, и оно также должно запустить файл.
Разоблачение Tomcat или вашего сервера Jetty должно работать так же. Я не уверен на 100% в разработке причалов и в том, насколько хороша их безопасность, но могу сказать, что tomcat довольно хорош, и они также довольно активны.
Забыли про проблему с портом. разоблачение порта 80 не должно быть проблемой. Вы можете легко изменить это в конфигурации.