【问题标题】:Start Tomcat remotely with Fabric使用 Fabric 远程启动 Tomcat
【发布时间】:2014-06-11 06:35:41
【问题描述】:

我遇到了 Tomcat 7 和 Fabric 的问题。我能够远程停止tomcat。不幸的是,我无法使用 python-fabric 启动它。它给了我一个输出,没有错误迹象,但tomcat仍然没有启动。 这是我的结构命令:

@task
def start_tomcat():
    sudo('/opt/tomcat/bin/startup.sh')

输出:

[bw.node1] Executing task 'start_tomcat'
Starting Tomcat
[bw.node1] run: echo $JAVA_HOME
[bw.node1] out: /usr/lib/jvm/java-1.6.0
[bw.node1] out: 

[bw.node1] sudo: ./startup.sh
[bw.node1] out: sudo password:
[bw.node1] out: Using CATALINA_BASE:   /opt/tomcat
[bw.node1] out: Using CATALINA_HOME:   /opt/tomcat
[bw.node1] out: Using CATALINA_TMPDIR: /opt/tomcat/temp
[bw.node1] out: Using JRE_HOME:        /usr/lib/jvm/java-1.6.0
[bw.node1] out: Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
[bw.node1] out: 


Done.
Disconnecting from bw.node1... done.

仍然没有发生任何事情。我还检查了 catalina.out 和 tomcat 没有启动。

【问题讨论】:

    标签: java automation tomcat7 fabric


    【解决方案1】:

    最后,我能够弄清楚如何使用fabric 远程启动tomcat。

    问题出在后台任务中,因为它们会在命令结束时被杀死。

    解决方案很简单:只需添加“set -m;”命令前的前缀。 完整的结构命令应该是:

    sudo('set -m; /opt/tomcat/bin/startup.sh')
    

    Source

    【讨论】:

    • 哥们你太棒了!
    • 很高兴它有帮助!此选项用于:后台进程在单独的进程组中运行,并在完成时打印包含其退出状态的行。
    猜你喜欢
    • 1970-01-01
    • 2018-05-09
    • 2018-08-16
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 2016-05-19
    相关资源
    最近更新 更多