java安装tomcat作为服务

标签 java linux tomcat service

我正在开发一个安装向导来在 linux 上安装一个应用程序,作为安装的一部分,我安装了 tomcat 并将其设置为系统启动时自动启动的服务。有人可以帮我弄清楚吗? (在 linux 上安装 tomcat 并仅通过 Java 代码将其设置为服务)

最佳答案

这是一个想法,但请记住,您可以在 Java 中完成以下大部分,但不能在 Java 中完成全部:

  • 在大多数 Linux 发行版中,服务都在 /etc/init.d 中——尽管路径可能会有所不同,也可能是 /etc/rc.d/init.d - 所以你需要检查哪一个适用。通常,您会在其中复制一个启动服务的 shell 脚本。
  • 然而,shell 脚本本身通常依赖于发行版,但您可以准备多个 shell 脚本——每个发行版一个,并通过启动命令 uname -a 并解析它来确定它是哪个发行版输出以确定发行版以及要复制到 /etc/init.d 的脚本。您需要授予此脚本的读取/执行权限,但这可以通过启动 chmod
  • 来完成
  • 然后您通常会将此脚本符号链接(symbolic link)到 /etc/rc2.d//etc/rc3.d/ —— 您可以在两者中符号链接(symbolic link)它;但是,您不能在 Java 中进行符号链接(symbolic link)——您将需要使用一些 native 库;
  • 或者也可以简单地将您的脚本复制到这些目录中;尽管这确实意味着现在您有 3 个配置点(/etc/init.d//etc/rc2.d/etc/rc3. d/) 不理想
  • 或者另一个想法是启动 ln -s/etc/init.d/yourscript/etc/rc2.d/name 来制作符号链接(symbolic link)

这意味着您的安装只能在 Linux 上运行。 希望这会有所帮助。

关于java安装tomcat作为服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201531/

相关文章:

java - Tomcat:java.io.IOException:无法创建目标 "xxx"目录”

java - 将请求传递给正确的应用程序

java - 在 Tomcat Server 7.0.39 上部署后 Web 应用程序无法运行

java - 在android中解析没有名称的json数组

java - 当 Firestore 中不可用时过滤搜索列表

linux - 如果绑定(bind)到 localhost/127.0.0.1 而不是外部,OpenJDK 7 AsynchronousServerSocketChannel 仅接受 localhost

c++ - Windows 和 Linux 之间的行尾分隔符转换

java - 发生异常时继续处理

Java -- 静态和动态类型 -- "what does this print?"

c - 打开某个目录并在c中写入