Где установить GlassFish на Linux?
отказ от ответственности: я относительно новичок в Linux. Я обсуждал, поставить это на суперпользователя или ServerFault, потому что ответ тут требуется объяснение Linux как системы (а не конкретной проблемы программирования), однако я заинтересован в этом с точки зрения разработчика Java, и я утверждаю, что это конкретная проблема, потому что там, где я устанавливаю GlassFish, сильно влияет на мою конфигурацию Java и, в конечном счете, конфигурацию приложения. Не говоря уже о публикации этого вопрос на этих других сайтах, вероятно, не будет украшать никакого внимания со стороны разработчика Java, более системных администраторов, которые могут не знать достаточно о Java, чтобы полностью взвесить это решение.
Я пытаюсь решить, где установить GlassFish, и мне кажется, что у меня есть (реально) 4 жизнеспособных варианта:
/opt/glassfish/
/usr/local/glassfish/
-
/home/myUsers/glassfish/
(это то, что все документы OGS показывают в своих примерах) -
/home/ogs/glassfish
(как его собственный пользователь, похож на то, как веб-сервер Apache иногда настраивается)
мне интересно, какие плюсы (принимая во внимание характер того, как Linux относится к этим каталогам по-разному, FHS и т. д.) и минусы каждого подхода.
Я читал, что есть установки/преимущества paritioning для установки под opt/
. Тем не менее, я обычно устанавливаю программное обеспечение 3rd party на usr/local/
, поэтому я немного не уверен в этом как в стратегии.
Оракул Все документы GlassFish Server (OGS) демонстрируют (но никогда не рекомендуют), что GlassFish устанавливается в вашем домашнем каталоге (home/myUser/
).
опять же, я читал, что довольно распространено устанавливать службы типа демона (что я бы представьте себе, я бы использовал GlassFish как-где я начинаю его один раз, и он спускается только для регламентного обслуживания или сбоев) в качестве собственного пользователя (home/ogs/glassfish/
).
Я обязательно это решение тоже повлияло на то, как я собираюсь использовать GlassFish, поэтому позвольте мне квалифицировать этот вопрос с несколькими ограничениями:
- я намерен развернуть 4 экземпляра OGS через 4 VMs на той же физической машине и кластеризировать их в том же домене (1 из 4 экземпляров сервера будет сервером администратора для домена)
- несколько приложений будут развернуты в этом кластере (все 3 узла без администратора) одновременно и должны работать 24/7/365, за исключением случаев сбоя (надеюсь не часто!) или когда мне нужно обслуживание или настроить их
- каждое приложение будет очень большим, и я хотел бы настроить их с настоящий админ, а не" голые кости " de minimis, настройки по умолчанию
если они не предоставляют достаточно конкретной информации, чтобы помочь сделать этот выбор, пожалуйста, спросите, и я могу быть более конкретным.
Я думаю, когда пыль оседает в конце дня, я ищу (более или менее) матрицу с каждым из четыре варианта каталога (плюс любые другие очевидные, которые я опустил) по сравнению с их соответствующими плюсами и минусами.
2 ответов
существует также возможность использовать систему управления пакетами дистрибутива Linux для установки Glassfish. Например, в Ubuntu, вы можете установить его с помощью
sudo apt-get install glassfish-appserv
и пусть он будет установлен там, где владелец пакета думал, что он должен быть установлен.
Я сам склонен уклоняться от вышеуказанного варианта, так как мне нравится осуществлять собственный контроль над тем, какая точная версия Glassfish (или любого другого Java-сервера/программного обеспечения) установлена и где, но я просто хотел выбросьте это, так как это одна из вещей, которые вы могли бы сделать.
теперь для отдельных опций, которые вы предоставили:
/ opt / glassfish/ Для меня это предпочтительный вариант. Он держит программное обеспечение в отдельном каталоге за пределами обычной установки Linux и позволяет устанавливать и разбивать преимущества, которые вы упомянули.
/ usr / местный / glassfish/ Мне это не нравится, потому что / usr / local обычно используется сторонним программным обеспечением, которое установлено с использованием программного обеспечения для управления пакетами дистрибутива (apt/yum / etc), и на большинстве дистрибутивов есть каталоги, такие как bin, etc и lib под ним. Если положить под него справочник по glassfish, это будет неуместно.
также я предпочитаю держать системные каталоги отдельно от пользовательского программного обеспечения, которое не использует инструменты управления пакетами дистрибутива.
/ главная / myUsers / glassfish/ , / главная / ogs / glassfish
эти 2, я бы не советовал.
они описаны только в большинстве мест, потому что автор не хочет предполагать, что пользователь имеет корневой доступ к этим полям, и в этом случае домашний каталог будет единственным, который вам будет гарантирован. Если вы владеете системой и управляете ею, эти ограничения не применяются.
помните, что домашние каталоги для конкретных пользователей. Я всегда рекомендую управлять серверным программным обеспечением с отдельными пользователями учетные записи с необходимыми привилегиями. Ввод программного обеспечения в чьем-то домашнем каталоге будет означать, что вы либо
- дайте всем, кто должен управлять Glassfish, пароль к этой учетной записи пользователя
- дайте нескольким пользователям доступ для чтения / записи в домашний каталог конкретного пользователя.
в любом случае, это не хорошая политика системного администрирования.
здесь не так много перспективы Java, но если вы спросите меня, там не нужно.
Что касается предыдущей рекомендации, некоторые компромиссы остаются:
- Если вы помещены в /opt или / usr / local, вам нужно будет иметь доступ для чтения/записи в эти каталоги, то есть у вас должен быть корневой доступ к коробке. В некоторых средах (где он управляет платформой) он не позволит вам иметь корневой доступ. Вам придется делегировать ему ответственность за установку, исправление и обновление двоичных файлов GlassFish.
- Если помещено в / opt или /usr / local, тогда вам также придется разместить каталоги домена (--domaindir) в отдельном месте, если вы не хотите, чтобы они принадлежали root (маловероятно). Это было по умолчанию в GlassFish 2.X RPM устанавливается на Linux. GlassFish 3.у x нет установок RPM (от Oracle, во всяком случае), но вы все равно можете разделить их. Это неплохой компромисс, но кое-что вы должны понять.
- Если размещен в "домашнем каталоге", то у вас есть права на обновление основных двоичных файлов, установку патчей и т. д, отдельно от него. В этом подходе есть хорошее/плохое/уродливое в зависимости от организационных обязанностей.
надеюсь, что это помогает.