我正在尝试为tomcat应用程序部署设置Ansible playbook。除了启动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。因此,如果有人明白如何启动脚本,那将非常有用。
答案 0 :(得分:4)
内置的Tomcat管理脚本不会从tty中分离,导致它们在Ansible ssh会话结束时被杀死。您需要破解脚本以使其成为后台/分离,或者为Tomcat编写并安装适当的init / systemd脚本(或来自众多示例中的任何一个)。例如,here或here或here ...
答案 1 :(得分:4)
如果您想要一个快速解决方案来运行Ansible的TTY中未连接的tomcat服务器,请使用以下命令:
- name: "Starting Apache server"
command: nohup {{ apache_install_location }}/tomcat9/bin/startup.sh