2016-08-31 2 views
2

Tomcat 응용 프로그램 배포를위한 Anurabook을 설정하려고합니다. 바람둥이 시작과 별개로 모든 것이 아무 문제없이 작동합니다. startup.sh를 사용하면 작동하지만 catalina.sh 스크립트로 바람둥이를 시작해야합니다.Anonymous에서 tomcat catalina 스크립트를 실행하는 방법

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

이것은 내가하려고하는 것입니다. 시작되었다고 말하면서 시작된 적이 없습니다.

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

도와주세요.

참고 : centos에서 zip 버전의 tomcat을 사용 중이며 tomcat을 설치하지 않았습니다. 그래서 누군가가 스크립트를 시작하는 방법에 대해 밝히면 정말 도움이 될 것입니다.

+0

이 catalina.sh 스크립트에 정의되어 있고 그것은 .bash_profile에 포함되지 않습니다. 따라서 catalina.sh를 호출/실행하는 동안 JAVA_HOME이 세션으로 내보내집니다. – parames

답변

3

내장 된 Tomcat 관리 스크립트는 tty에서 분리되지 않으므로 해당 ssh 세션이 종료 될 때 종료됩니다. 백그라운드 스크립트를 해킹하거나 해체 시키려면 스크립트를 해킹하거나 Tomcat 용으로 적절한 init/systemd 스크립트 (또는 수많은 예제 중 하나의 라이브러리)를 작성하여 설치해야합니다. 예를 들어, here 또는 here 또는 here ...

+0

감사합니다. Matt, 필자는 [this] (https://github.com/ansible/ansible-examples/blob/master/tomcat-standalone/roles/tomcat/files/tomcat-initscript.sh) 스크립트를 사용하고 필요에 따라 수정했으며 이제는 잘 작동합니다. – parames

+0

beautiful. 제안을 주셔서 감사합니다 – Dexter

1

가 사용하는 다음 Ansible의 TTY에서 무소속 바람둥이 서버를 실행하기 위해 빠른 해결책을 원하는 경우 :

JAVA_HOME @techraf
- name: "Starting Apache server" 
    command: nohup {{ apache_install_location }}/tomcat9/bin/startup.sh 
+0

고마워요. 나는 적절한 init/systemd 스크립트를 작성하려고 시도했다. 그러나 수동으로 작업 했음에도 불구하고, 그것은 불가능한 것을 통해 작동하지 않았다. 위의 접근법에 대한 좋은 점은 tomcat 로그가 nohup.out에 쓰여지는 대신 catalina.out으로 보내진다는 것입니다. –