সেই স্ক্রিপ্টের লিঙ্কটির জন্য মার্ককে ধন্যবাদ; 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
সেন্টোস superv-এ সুপারভাইজার ভি 3.0-তে টমক্যাট 7-এর সাথে কাজ করে।