在Linux上安装GlassFish的位置?

免责声明:我对Linux比较陌生。 我辩论把它放在SuperUser或ServerFault上,因为答案确实需要将Linux作为一个系统解释(而不是一个特定的编程问题),但是我从Java开发人员的angular度对此感兴趣,我认为这是一个特定的问题,因为我安装GlassFish会极大地影响我的Javaconfiguration,最终影响应用程序configuration。 更不用说在其他网站上发布这个问题可能不会引起任何Java开发人员的注意,更多的可能是系统pipe理员,他们可能不太了解Java,因此完全无视这个决定。

我正在尝试确定GlassFish的安装位置,在我看来,我有(现实的)4个可行的选项:

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

我想知道什么专业人士(考虑到Linux如何处理这些目录的不同性质,FHS等)以及每种方法的缺点。

我读过安装/分区的好处,安装在opt/ 。 不过,我通常会将第三方软件安装到usr/local/ ,所以我有点不确定这是一个策略。

Oracle GlassFish服务器(OGS)文档都显示(但从未彻底推荐)安装在您的主目录( home/myUser/ )下的GlassFish。

然后我再次读到,安装守护进程types的服务是非常普遍的(这是我想象的我将使用GlassFish作为 – 在那里我开始一次,它只是为了例行维护或崩溃)作为他们的自己的用户( home/ogs/glassfish/ )。

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

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

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

我想,当尘埃落定的一天结束的时候,我正在寻找(或多或less)一个与四个目录选项(加上其他明显的我省略)利弊。

Solutions Collecting From Web of "在Linux上安装GlassFish的位置?"

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

 sudo apt-get install glassfish-appserv 

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

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

现在为您提供的个人选项:

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

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

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

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

这两个,我不会推荐。

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

请记住,主目录是针对特定用户的。 我总是推荐使用具有所需特权的个人用户帐户来管理服务器软件。 把软件放在别人的主目录下意味着你​​也是

  1. 给每个需要管理Glassfish的用户,该用户帐户的密码
  2. 使多个用户可以读/写特定用户的主目录。

无论哪种方式,这不是一个好的系统管理策略。

这里没有太多Java的观点,但是如果你问我,那就不需要了。

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

  • 如果放置在/ opt或/ usr / local中,则必须具有对这些目录的读/写访问权限,这意味着您必须具有对该文件夹的根访问权限。 在某些环境(IT控制平台)中,IT不会让您拥有root访问权限。 您必须委派IT负责安装,修补和升级GlassFish二进制文件。
  • 如果放置在/ opt或/ usr / local中,则除非您希望它们拥有root(不太可能),否则您还必须将域目录(–domaindir)放在一个单独的位置。 这是在Linux上安装GlassFish 2.x RPM时的默认值。 GlassFish 3.x没有RPM安装(无论如何,从Oracle),但你仍然可以分裂两者。 这不是一个坏的折衷,但是你应该明白。
    • 如果放置在“主目录”中,那么您有权升级核心二进制文件,安装补丁等,与IT分开。 这种方法有好有坏/好坏取决于组织的责任。

希望这可以帮助。