Gittiğim çözüm. AWS AMI, Python uygulamalarını kurmak için pip içerir. İşte kurulum komutları şunlardır:
$ sudo pip install supervisor
$ echo_supervisord_conf
$ sudo su -
$ echo_supervisord_conf > /etc/supervisord.conf
siz manuel açılıp hizmetini açmasını başlangıç komut dosyası oluşturmak gerekir danışmanı yükledikten sonra.
Bu, Linux dağıtımınıza göre değişecektir, Ubuntu yüklediğinizde sizin için bir init betiği oluşturacaktır, AMI gibi diğer dağıtımlar olmayacaktır. Daha sonra sistem yeniden başlatmada otomatik başlamak için chkconfig amire ekleyebilir
https://github.com/Supervisor/initscripts
: Burada çeşitli Linux dağıtımı init-up komut dosyaları için mükemmel bir kaynaktır.Senden sonra yakın
Yol
/etc/init.d/supervisord
AWS-AMI veya RedHat Linux için
Örnek Init Senaryo
#!/bin/bash
#
# supervisord Startup script for the Supervisor process control system
#
# Author: Mike McGrath <[email protected]> (based off yumupdatesd)
# Jason Koppe <[email protected]> adjusted to read sysconfig,
# use supervisord tools to start/stop, conditionally wait
# for child processes to shutdown, and startup later
# Erwan Queffelec <[email protected]>
# make script LSB-compliant
#
# chkconfig: 345 83 04
# description: Supervisor is a client/server system that allows \
# its users to monitor and control a number of processes on \
# UNIX-like operating systems.
# processname: supervisord
# config: /etc/supervisord.conf
# config: /etc/sysconfig/supervisord
# pidfile: /var/run/supervisord.pid
#
### BEGIN INIT INFO
# Provides: supervisord
# Required-Start: $all
# Required-Stop: $all
# Short-Description: start and stop Supervisor process control system
# Description: Supervisor is a client/server system that allows
# its users to monitor and control a number of processes on
# UNIX-like operating systems.
### END INIT INFO
# Source function library
. /etc/rc.d/init.d/functions
# Source system settings
if [ -f /etc/sysconfig/supervisord ]; then
. /etc/sysconfig/supervisord
fi
# Path to the supervisorctl script, server binary,
# and short-form for messages.
supervisorctl=/usr/local/bin/supervisorctl
supervisord=${SUPERVISORD-/usr/local/bin/supervisord}
prog=supervisord
pidfile=${PIDFILE-/tmp/supervisord.pid}
lockfile=${LOCKFILE-/var/lock/subsys/supervisord}
STOP_TIMEOUT=${STOP_TIMEOUT-60}
OPTIONS="${OPTIONS--c /etc/supervisord.conf}"
RETVAL=0
start() {
echo -n $"Starting $prog: "
daemon --pidfile=${pidfile} $supervisord $OPTIONS
RETVAL=$?
echo
if [ $RETVAL -eq 0 ]; then
touch ${lockfile}
$supervisorctl $OPTIONS status
fi
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc -p ${pidfile} -d ${STOP_TIMEOUT} $supervisord
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -rf ${lockfile} ${pidfile}
}
reload() {
echo -n $"Reloading $prog: "
LSB=1 killproc -p $pidfile $supervisord -HUP
RETVAL=$?
echo
if [ $RETVAL -eq 7 ]; then
failure $"$prog reload"
else
$supervisorctl $OPTIONS status
fi
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${pidfile} $supervisord
RETVAL=$?
[ $RETVAL -eq 0 ] && $supervisorctl $OPTIONS status
;;
restart)
restart
;;
condrestart|try-restart)
if status -p ${pidfile} $supervisord >&/dev/null; then
stop
start
fi
;;
force-reload|reload)
reload
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|reload}"
RETVAL=2
esac
exit $RETVAL
ve çalıştırılabilir yapın, kaydedin: Burada
benim için çalışan biridir Tüm kullanıcılar tarafından:
chmod a+x /etc/init.d/supervisord
Eğer çalışan bir işlem olarak/usr/bin/supervisord görmüyorsanız
ps -fe | grep supervisor
sonra başlamak gerekir:
sonraki supervisord işlemi aşağıdaki komutu çalıştırarak çalışan aslında olduğunu teyit isteyeyim elle yukarı:
sudo service supervisord start
Supervisord sunucu yeniden başlatıldıktan o zaman devreye gerekmektedir. Bu, chkconfig kullanarak yeniden başlatmadan sonra apache'nin nasıl açıldığına benzer şekilde yapılabilir.
İlk chkconfig ekleyin, başlangıç açma işlemini liste
sudo chkconfig --add supervisord
Ardından hızlı cevap için önyükleme sonra
sudo chkconfig supervisord on
"/etc/init.d/supervisord" dosyasını oluşturdum ve daha sonra "sudo service supervisord start" komutunu çalıştırdım ama alınan "env: /etc/init.d/supervisord: İzin reddedildi" .... herhangi bir fikir? Ben, ben bu çok ayrıntılı bir cevapta eksik bir adım oldu yapmak için centos 7 – llioor
chmod a + x/etc/init.d/supervisord' ile ec2 Amazon AIM kullanıyorum :) –
Teşekkürler Filipe, Cevabı güncelleyeceğim . –