【求助】Ansbile如何start/stop Tomcat程序
Tomcat安装在/opt目录,未将Tomcat注册为系统服务。使用Ansible启动Tomcat服务时,由于不是在后台启动,导致ansible-playbook执行完之后,客户端的tomcat服务并没有在后台常驻。
参考 https://stackoverflow.com/questions/39242051/how-to-run-tomcat-catalina-script-on-ansible 修改了tomcat的管理脚本,使用ansbile的script模块,stop可以用,但是start还是和之前一样。在不考虑把tomcat做成系统服务的情况下,有没有遇到类似问题的人,帮忙解决下。
/etc/ansible/scripts/manage_tomcat.sh 参考:https://github.com/ansible/ansible-examples/blob/master/tomcat-standalone/roles/tomcat/files/tomcat-initscript.sh
playbook使用script模块:
tasks:
- script: /etc/ansible/scripts/manage_tomcat.sh start
两种方案:1.做成系统服务
2.在startup.sh加上source /etc/profile ;然后在playbook中
tasks:
- name: start tomcat
shell: setsid /bin/sh -i -c "/opt/apache-tomcat-7.0.42/bin/startup.sh"
但是疑问还在为什么上面用脚本形式的不可以
页:
[1]