Ansible完成后Tomcat进程被中止/终止
我正在使用Ansible 2.8.4-1.el7,以便针对一系列RedHat实例/服务器自动化一些任务 我使用一个无密码密钥通过SSH登录到实例中,用户可以像tomcat一样运行进程,但不能完全像sudo那样运行。Tomcat服务器有一个带有一些函数的脚本,用于控制启动和停止操作……这就是我想用Ansible模拟的,但到目前为止,每当我这样做时:/some/path/tomcat9_dev/bin/tomcat9_dev start它确实会启动服务器,但进程在Ansible完成执行后退出 有没有办法实际执行该脚本并在Ansible完成后让Tomcat服务器继续运行 如果我通过SSH登录到服务器,执行脚本并退出,它就可以正常工作。我还为启动脚本设置了睡眠时间,通过Ansible执行它,可以查看Tomcat进程、测试Web应用程序等,但Ansible完成后,该进程再次退出 我确实是这样开始使用服务模块的:Ansible完成后Tomcat进程被中止/终止,tomcat,ansible,Tomcat,Ansible,我正在使用Ansible 2.8.4-1.el7,以便针对一系列RedHat实例/服务器自动化一些任务 我使用一个无密码密钥通过SSH登录到实例中,用户可以像tomcat一样运行进程,但不能完全像sudo那样运行。Tomcat服务器有一个带有一些函数的脚本,用于控制启动和停止操作……这就是我想用Ansible模拟的,但到目前为止,每当我这样做时:/some/path/tomcat9_dev/bin/tomcat9_dev start它确实会启动服务器,但进程在Ansible完成执行后退出 有没有
- name: Stop service
systemd:
state: stopped
name: tomcat9_dev
- name: Start service
systemd:
enabled: yes
state: started
name: tomcat9_dev
…但这不起任何作用,它在启动服务器时总是超时,虽然停止服务器时不会超时,但实际上也不会停止…我已经在服务器启动并运行的情况下单独运行了好几次。/some/path/tomcat9_dev/bin/tomcat9_dev.service文件如下所示:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/some/path/tomcat9_dev/temp/tomcat.pid
Environment=CATALINA_HOME=/some/path/tomcat9_dev
Environment=CATALINA_BASE=/some/path/tomcat9_dev
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/some/path/tomcat9_dev/bin/tomcat9_dev start
ExecStop=/some/path/tomcat9_dev/bin/tomcat9_dev stop
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
我不完全确定通过脚本启动Tomcat是否会干扰Ansible和服务模块
您是否能够直接运行服务包装器或systemctl,在您试图使用Ansible命令/控制的系统上手动启动和停止该服务单元?因为这是第一步 什么是/some/path/tomcat9_dev/bin/tomcat9_dev.service?因为这对于systemd来说很重要,在安装单元文件之后,您是否重新加载了守护进程
另外,驻留在/some/path/tomcat9_dev/bin/tomcat9_dev的脚本是否让tomcat在前台或后台运行?再说一遍,因为这对systemd很重要。这些都是对我很好的指点!我不知道从哪里开始…谢谢!因此,我无法运行该服务,它要求我输入一些密码,以便管理系统服务或单元;这更可能是Ansible超时的原因/some/path/tomcat9_dev/bin/tomcat9_dev.service是您在/etc/systemd/system/tomcat9_dev.service中找到的内容的精确副本,是的,它已安装并重新加载。我不完全确定前景/背景部分;它的执行方式是:/some/path/tomcat9\u dev/bin/tomcat9\u dev\u catalina.sh start&>/dev/null