在Linux上安装GlassFish的位置?

时间:2012-05-19 15:32:44

标签: java linux glassfish admin application-server

免责声明:我对Linux比较陌生。我讨论过把它放在SuperUser或ServerFault上,因为答案 要求将Linux解释为系统(而不是特定的编程问题),但是我从Java开发人员的角度对此感兴趣,并且我认为这是一个特定问题,因为我安装GlassFish会极大地影响我的Java配置,并最终影响应用程序配置。更不用说在其他网站上发布这个问题可能不会引起Java开发人员的任何关注,更多的是系统管理员,他们可能对Java的了解不足以完全权衡这一决定。

我正在尝试决定在哪里安装GlassFish,在我看来,我(实际上)有4个可行的选择:

  • /opt/glassfish/
  • /usr/local/glassfish/
  • /home/myUsers/glassfish/(这是所有OGS文档在其示例中显示的内容)
  • /home/ogs/glassfish(作为自己的用户,类似于有时设置Apache Web服务器的方式)

我想知道专业人士(考虑到Linux如何区别对待这些目录的性质,FHS等)以及每种方法的缺点。

我已经读过在opt/下安装它会有好处/分区好处。但是,我通常会将第三方软件安装到usr/local/,所以我对此作为一种策略有些不确定。

Oracle GlassFish Server(OGS)文档都证明(但从未完全建议)GlassFish安装在您的主目录(home/myUser/)下。

然后再次,我已经读过安装守护进程类型的服务是相当普遍的(这是我想象的我将使用GlassFish - 我在那里开始它只有它作为他们自己的用户(home/ogs/glassfish/)来进行日常维护或崩溃。

肯定这个决定也受到我将如何使用GlassFish的影响,所以让我通过一些限制来限定这个问题:

  • 我打算在同一台物理机上的4个虚拟机上部署4个OGS实例,并将它们集中到同一个域中(4个服务器实例中的1个将成为域的管理服务器)
  • 几个应用程序将同时部署到此群集(所有3个非管理节点),并且应该全天候运行,除非它们崩溃(希望不经常!)或我需要维护或调整它们
  • 每个应用程序都非常大,我想用真实管理员配置它们,而不是“裸机”,默认设置

如果这些没有提供足够的具体信息来帮助做出这个选择,请询问,我可以更具体。

我猜,当尘埃落定到一天结束时,我正在(或多或少)寻找一个矩阵,其中四个目录选项中的每一个(以及我省略的任何其他明显的选项)与各自的专业人员缺点

2 个答案:

答案 0 :(得分:3)

还可以选择使用Linux发行版的软件包管理系统来安装Glassfish。例如,在Ubuntu上,您可以使用

安装它
sudo apt-get install glassfish-appserv

并将其安装到程序包所有者认为应该安装的任何位置。

我自己倾向于避开上述选项,因为我喜欢自己控制Glassfish(或任何其他Java服务器/软件)的确切版本以及安装位置,但我只是想把它扔掉在那里,因为这是你可以做的事情之一。

现在提供您提供的各个选项:

<强>的/ opt /的glassfish / 就我而言,这是首选方案。它将软件保存在常规Linux安装之外的单独目录中,并允许您提及的安装和分区优势。

<强>的/ usr /本地/的glassfish / 我不喜欢这么多,因为/ usr / local通常由使用distro的软件包管理软件(apt / yum / etc)安装的第三方软件使用,而且大多数发行版都有bin等目录和lib在它下面。在它下面放置一个玻璃鱼目录会使它不合适。

此外,我更喜欢将系统目录与不使用发行版包管理工具的自定义软件分开。

/ home / myUsers / glassfish / / home / ogs / glassfish

这2,我不推荐。

它们仅在大多数地方被描述,因为作者不想假设用户对这些盒子具有超级访问权限,在这种情况下,主目录将是您唯一保证拥有的目录。如果您拥有系统并正在管理它,则不适用这些限制。

请记住,主目录适用于特定用户。我总是建议使用具有所需权限的个人用户帐户管理服务器软件。将软件放在某人的主目录中意味着你要么

  1. 向需要管理Glassfish的所有人提供该用户帐户的密码
  2. 授予多个用户对特定用户主目录的读/写访问权限。
  3. 无论哪种方式,这都不是好的系统管理政策。

    这里没有太多的Java视角,但如果你问我,就没有必要。

答案 1 :(得分:2)

关于先前的建议,一些权衡仍然存在:

  • 如果放在/ opt或/ usr / local中,则必须具有对这些目录的读/写访问权限,这意味着您必须具有对该框的root访问权限。在某些环境中(IT控制平台),IT不会让您拥有root访问权限。您必须委派IT负责安装,修补和升级GlassFish二进制文件。
  • 如果放在/ opt或/ usr / local中,那么您还必须将域目录(--domaindir)放在一个单独的位置,除非您希望它们由root拥有(不太可能)。这是Linux上GlassFish 2.x RPM安装的默认设置。 GlassFish 3.x没有安装RPM(无论如何都是来自Oracle),但你仍然可以拆分这两个。这不是一个糟糕的权衡,但你应该理解。
    • 如果放在“主目录”中,则您有权升级核心二进制文件,安装补丁程序等,与IT分开。根据组织职责,这种方法有好/坏/丑。

希望这有帮助。