gpt4 book ai didi

Ansible 完成后,Tomcat 进程被中止/终止

转载 作者:行者123 更新时间:2023-11-28 23:57:08 25 4
gpt4 key购买 nike

我正在使用 Ansible 2.8.4-1.el7 以针对一系列 RedHat 实例/服务器自动执行某些任务。

我正在通过 SSH(使用“无密码” key )以可以运行进程作为 tomcat 的用户登录实例,但它不能 sudo 这样完全。 Tomcat 服务器有一个脚本,其中包含一些功能以控制 startstop 操作......这就是我想用 Ansible 模仿的,但到目前为止,每当我do: /some/path/tomcat9_dev/bin/tomcat9_dev start 它确实启动了服务器,但进程在 Ansible 完成执行后退出。

有没有办法实际执行该脚本并在 Ansible 完成后让 Tomcat 服务器继续运行?

If I login to the server(s) via SSH, execute the script and exit, it works perfectly fine. I also put a sleep time to the start script, executed it via Ansible and can see the Tomcat process, test the Web application(s), etc., but again, after Ansible finishes, the process exits.


我开始使用 service 模块是这样的:

- 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

I'm not entirely sure if starting Tomcat via the script might interfere with Ansible and the service module.

最佳答案

您是否能够直接运行 service 包装器或 systemctl 以在您尝试命令/控制的系统上手动启动和停止该服务单元使用 Ansible?因为那将是第一步。

什么是/some/path/tomcat9_dev/bin/tomcat9_dev.service?因为这对 systemd 而言很重要,您是否在安装该单元文件后执行了 daemon-reload

此外,位于 /some/path/tomcat9_dev/bin/tomcat9_dev 的脚本是否让 tomcat 在前台或后台运行?同样,因为这对 systemd 很重要。

关于Ansible 完成后,Tomcat 进程被中止/终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58002157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com