如何在 Ansible 上 运行 tomcat catalina 脚本

How to run tomcat catalina script on Ansible

我正在尝试为 tomcat 应用程序部署设置 Ansible 剧本。除了启动 tomcat 之外,一切正常。当我使用 startup.sh 时,它可以工作,但我需要使用 catalina.sh 脚本启动 tomcat。

   - name: start tomcat
     command: ./bin/catalina.sh start
     args:
       chdir: /websrv/tomcat/tomcat-8080/

这就是我正在尝试做的,它说已开始但从未开始。

TASK [start tomcat] ************************************************************
changed: [appserver.example.com]

请帮忙。

注意:我在centos上使用的是压缩版tomcat,还没有安装tomcat。因此,如果有人阐明了如何启动脚本,那将非常有帮助。

内置的 Tomcat 管理脚本不会与 tty 分离,这会导致它们在 Ansible ssh 会话结束时被终止。您需要破解脚本以使其成为 backgrounded/detached,或者为 Tomcat 编写并安装适当的 init/systemd 脚本(或从众多示例中的任何一个中提取脚本)。例如,here or here or here...

如果您想快速解决 运行 tomcat 服务器与 Ansible 的 TTY 无关的问题,请使用以下方法:

- name: "Starting Apache server"
  command: nohup {{ apache_install_location }}/tomcat9/bin/startup.sh