उस स्क्रिप्ट के लिंक के लिए मार्क का धन्यवाद; यहाँ CentOS के लिए मेरा काम करने का उदाहरण है:
#!/bin/bash
# Source: https://confluence.atlassian.com/plugins/viewsource/viewpagesrc.action?pageId=252348917
function shutdown()
{
date
echo "Shutting down Tomcat"
unset CATALINA_PID # Necessary in some cases
unset LD_LIBRARY_PATH # Necessary in some cases
unset JAVA_OPTS # Necessary in some cases
$TOMCAT_HOME/bin/catalina.sh stop
}
date
echo "Starting Tomcat"
export CATALINA_PID=/tmp/$$
export JAVA_HOME=/usr/local/java
export LD_LIBRARY_PATH=/usr/local/apr/lib
export JAVA_OPTS="-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.password.file=/etc/tomcat.jmx.pwd -Dcom.sun.management.jmxremote.access.file=/etc/tomcat.jmxremote.access -Dcom.sun.management.jmxremote.ssl=false -Xms128m -Xmx3072m -XX:MaxPermSize=256m"
# Uncomment to increase Tomcat's maximum heap allocation
# export JAVA_OPTS=-Xmx512M $JAVA_OPTS
. $TOMCAT_HOME/bin/catalina.sh start
# Allow any signal which would kill a process to stop Tomcat
trap shutdown HUP INT QUIT ABRT KILL ALRM TERM TSTP
echo "Waiting for `cat $CATALINA_PID`"
wait `cat $CATALINA_PID`
और यहाँ मैंने /etc/supervisord.conf में जो प्रयोग किया है:
[program:tomcat]
directory=/usr/local/tomcat
command=/usr/local/tomcat/bin/supervisord_wrapper.sh
stdout_logfile=syslog
stderr_logfile=syslog
user=apache
चल रहा है, यह इस तरह दिखता है:
[root@qa1.qa:~]# supervisorctl start tomcat
tomcat: started
[root@qa1.qa:~]# supervisorctl status
tomcat RUNNING pid 9611, uptime 0:00:03
[root@qa1.qa:~]# ps -ef|grep t[o]mcat
apache 9611 9581 0 13:09 ? 00:00:00 /bin/bash /usr/local/tomcat/bin/supervisord_wrapper.sh start
apache 9623 9611 99 13:09 ? 00:00:10 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.password.file=/etc/tomcat.jmx.pwd -Dcom.sun.management.jmxremote.access.file=/etc/tomcat.jmxremote.access -Dcom.sun.management.jmxremote.ssl=false -Xms128m -Xmx3072m -XX:MaxPermSize=256m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
मैंने शुरू में environment
निर्देश के माध्यम से /etc/supervisord.conf में उन पर्यावरण चर को जोड़ने की कोशिश की , लेकिन सभी रिक्त स्थान और समान संकेतों के साथ JAVA_OPTS के साथ मुसीबत में भाग गया। रैपर लिपि में डालकर उसका ध्यान रखा।
उम्मीद है कि यह किसी और को कुछ समय बचाने में मदद करता है!
start
में टॉमकैट 7 के साथ काम करता है। ध्यान दें कि /etc/supervisord.conf में कमांड के अंत में एक अनावश्यक तर्क है क्योंकि स्क्रिप्ट इसके साथ कुछ भी नहीं करती है।