Где установить 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, я бы не советовал.

они описаны только в большинстве мест, потому что автор не хочет предполагать, что пользователь имеет корневой доступ к этим полям, и в этом случае домашний каталог будет единственным, который вам будет гарантирован. Если вы владеете системой и управляете ею, эти ограничения не применяются.

помните, что домашние каталоги для конкретных пользователей. Я всегда рекомендую управлять серверным программным обеспечением с отдельными пользователями учетные записи с необходимыми привилегиями. Ввод программного обеспечения в чьем-то домашнем каталоге будет означать, что вы либо

  1. дайте всем, кто должен управлять Glassfish, пароль к этой учетной записи пользователя
  2. дайте нескольким пользователям доступ для чтения / записи в домашний каталог конкретного пользователя.

в любом случае, это не хорошая политика системного администрирования.

здесь не так много перспективы Java, но если вы спросите меня, там не нужно.


Что касается предыдущей рекомендации, некоторые компромиссы остаются:

  • Если вы помещены в /opt или / usr / local, вам нужно будет иметь доступ для чтения/записи в эти каталоги, то есть у вас должен быть корневой доступ к коробке. В некоторых средах (где он управляет платформой) он не позволит вам иметь корневой доступ. Вам придется делегировать ему ответственность за установку, исправление и обновление двоичных файлов GlassFish.
  • Если помещено в / opt или /usr / local, тогда вам также придется разместить каталоги домена (--domaindir) в отдельном месте, если вы не хотите, чтобы они принадлежали root (маловероятно). Это было по умолчанию в GlassFish 2.X RPM устанавливается на Linux. GlassFish 3.у x нет установок RPM (от Oracle, во всяком случае), но вы все равно можете разделить их. Это неплохой компромисс, но кое-что вы должны понять.
    • Если размещен в "домашнем каталоге", то у вас есть права на обновление основных двоичных файлов, установку патчей и т. д, отдельно от него. В этом подходе есть хорошее/плохое/уродливое в зависимости от организационных обязанностей.

надеюсь, что это помогает.