在Linux上安装GlassFish的位置?

IAm*_*aja 13 java linux admin glassfish 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个非管理节点),并且应该全天候运行,除非它们崩溃(希望不经常!)或我需要维护或调整它们
  • 每个应用程序将非常大,我想用真正的管理员配置它们,而不是"裸骨"de minimis,默认设置

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

我想,当尘埃落定到一天结束时,我正在(或多或少)寻找一个矩阵,其中包含四个目录选项中的每一个(加上我省略的任何其他明显的选项)与他们各自的专业人员相比利弊.

Raj*_*ani 3

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

sudo apt-get install glassfish-appserv
Run Code Online (Sandbox Code Playgroud)

并让它安装到包所有者认为应该安装的任何地方。

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

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

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

/usr/local/glassfish/ 我不太喜欢这个,因为 /usr/local 通常由使用发行版的包管理软件(apt/yum/etc)安装的第三方软件使用,并且在大多数发行版上都有bin等目录及其下的lib。在它下面放一个 glassfish 的目录,会让它变得不合适。

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

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

这2个我不推荐。

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

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

  1. 向需要管理 Glassfish 的每个人提供该用户帐户的密码
  2. 授予多个用户对特定用户的主目录的读/写访问权限。

不管怎样,这都不是好的系统管理策略。

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