JBoss потребует Java (рекомендуется Java 7), прежде чем он что-либо сделает. Я не думаю, что это действительно «устанавливает» для одного, а скорее просто распаковывает в какой-то каталог (даже если вы устанавливаете его из диспетчера пакетов, он просто извлекает сам). Я задаю себе вопрос о необходимости Spring, поскольку JBoss и Java EE в целом действительно делают все, что делает Spring, и лучше сейчас. Если у вас нет особых требований к весне, я бы поставил под сомнение эту дополнительную зависимость.
Для Linux - на высоком уровне любая ОС может быть «сервером», все, что ему нужно, - это возможность обслуживать вещи (веб-страницы, ssh-соединения и т. Д.). В мире M $ разные «уровни» ОС были специально разработаны на основе ожидаемой задачи/рабочей нагрузки. Так, например, хотя Windows 7 действительно может работать как сервер, она не предназначена для этого и поэтому может не быть оптимизирована или содержать вспомогательные утилиты и инструменты, чтобы сделать жизнь проще, чем системный администратор системы. Windows Server, с другой стороны, включает в себя все «обычные» серверные инструменты и множество полезных свойств для упрощения обслуживания и настройки сервера.
В linux land, это не такая вещь. Linux - это ядро, которое говорит взад и вперед с голосом металла и т. Д., И производители Distro возьмут это и построят ОС вокруг ядра, в основном просто прикрепляя любые пакеты, которые они считают своими дистрибутивами ... например, wget или cat или любые другие стандартные приложения для пользователей, а также некоторые нестандартные, такие как mysql или java, или что угодно.
Теперь некоторые дистрибутивы linux будут адаптироваться к тому, чтобы быть «сервером» готовым, в то время как другие будут адаптировать себя к настольной ОС. Разница? Это действительно какие-то пакеты по умолчанию, которые производитель дистрибуции решает включить или нет. Например, подавляющее большинство серверов linux запускаются полностью без головы, поэтому нет никаких оснований для того, чтобы X11 и огромная раздутая среда графического интерфейса были установлены и/или запущены в этой системе ... это бессмысленно. Кроме того, пользователю «средний joe» не нужен MySQL, установленный по умолчанию на его настольной системе, поскольку он будет раздувать его систему, и он, вероятно, никогда не будет использовать его.
В основном это относится к установленным по умолчанию пакетам.
Некоторые серверные дистрибутивы Linux используют это в дальнейшем и проявляют особую осторожность при создании обновлений, патчей или новых выпусков во имя стабильности и безопасности, в то время как, с другой стороны, большинство настольных дистрибутивов более беспорядочны с их обновлениями, поскольку, если он ломается веб-браузер домашних пользователей, это, вероятно, не очень большое дело ... но если обновление сервера ломает стек приложений веб-сервера, теперь это серьезная проблема.
Таким образом, вы обнаружите, что серверные ОС, такие как CentOS (основанные на RHEL), очень медленны, чтобы задействовать «самые последние и самые лучшие» функции, которые настольные ОС получают на ранней стадии. Их целью является высокая безопасность и долгосрочная стабильность.
Теперь, для Ubuntu. Хотя я определенно знаю, что многие люди используют Ubuntu в качестве выбора своей серверной ОС (отчасти из-за того, что Amazon выбирает Ubuntu как виртуальную виртуальную машину Linux для своего облака ECS), но я бы действительно поставил под вопрос это. Ubuntu не сосредоточен на том, чтобы быть сервером. Он ориентирован на отличную универсальную настольную ОС. Да, версия LTS предназначена для долгосрочной стабильности, но она основана на настольной ОС, поэтому она все еще не в центре внимания.
IMHO, я бы пошел с CentOS, потому что это бесплатная и полностью бинарная совместимая версия RHEL - и RHEL - это де-факто стандарт для корпоративных серверов Linux. Имейте в виду, однако, способ RHEL делать вещи немного отличается от способа debian - так что нет apt-get
, вместо этого вы должны использовать yum install
. Сценарии запуска различны, и некоторые способы делать вещи разные, но на самом деле, когда вы знаете Linux, вы используете know
linux.
EDIT: Также проверьте на Jenkins - свою бесплатную систему непрерывного интегрирования с открытым исходным кодом, которая работает на JBoss или Tomcat или в любом другом контейнере и может автоматически вывести ваш код из репо (github, git, svn и т. Д.) И скомпилировать/упакуйте его, а затем подтолкните к живому развертыванию. Вы настраиваете скрипты сборки ANT или Maven, и это может начаться по расписанию или, тем не менее, вы его настраиваете.
EDIT EDIT: Я бы также рекомендовал использовать OpenJDK, так как он, вероятно, включен в ваш менеджер пакетов (почти для каждого экземпляра) и будет более обновлен, чем версия oracle, если он также находится в вашем диспетчере пакетов. Я обнаружил, что большинство «серверных» дистрибутивов будет иметь OpenJDK 7, а только Oracle java 6 в менеджерах пакетов. Кроме того, установка его через диспетчер пакетов позволит вам обновить его на тонну.
Спасибо SnakeDoc. Это интересное представление о аспекте сервера и о деталях, о которых нужно подумать. То, что вы предлагаете здесь, имеет смысл. Что касается Spring, он запрашивается для этого проекта - я в основном знаком с Eclipse-ish аспектом окружающей среды. Включение Spring, похоже, добавляет дополнительный компонент кривой обучения; мысль о будущем заключается в том, что это упростит ситуацию. Я говорю это не как эксперт, а только слушаю его от так называемых экспертов. – David
Хмм ... Я никогда не использовал Spring самостоятельно, и я новичок в Java EE (я занимаюсь разработкой Java, а не EE-ориентированным), но из того, что я слышу/собираю, Spring изначально имел в виду замена Java EE в те времена, когда Java EE была ужасно ужасной. С тех пор Java EE имеет долгий путь, с собственным контейнером Oracle (GlassFish), включая большинство функциональных возможностей Java EE по умолчанию. JBoss - это просто реализация одной и той же структуры Java EE. Java EE является стандартом, но реализация зависит от поставщика (Red Hat в случае JBoss). – SnakeDoc
Я мог бы быть на весне, хотя, поэтому я сделал бы домашнюю работу, прежде чем просто поверить в чужое слово. Если это действительно поможет в любом случае, пойдите для этого. *** говоря о менталитете большего количества зависимостей == больше проблем – SnakeDoc