supervisorctl

Supervisor, bir süreç denetleyicisinin komut satırı arabirimidir. Supervisor, Unix ve benzeri işletim sistemlerinde çalışan süreçlerin yönetimini kolaylaştıran bir araçtır. ‘supervisorctl‘ aracı, Supervisor tarafından izlenen süreçlerin durumunu gözlemlemenizi, başlatmanızı, durdurmanızı, yeniden başlatmanızı veya yeniden yüklemenizi sağlar. Bu komutlar, Supervisor tarafından yönetilen herhangi bir süreci etkilemek için kullanılır.

Örneğin, ‘supervisorctl start <process_name> ‘komutu, belirtilen süreci başlatırken, ‘supervisorctl stop <process_name>‘ komutu onu durdurur. ‘supervisorctl restart <process_name>‘ ise belirtilen süreci yeniden başlatır. Bu komutlar, sunucunuzda çalışan uygulamaları yönetirken oldukça kullanışlıdır ve sistem yöneticilerine veya geliştiricilere süreçlerin yönetimi için güçlü bir araç sunar.

/etc/supervisor/conf.d/ altında oluşturulacak config dosyaları ile servislerimizi yönetebiliriz.

# vim nginx.conf
[program:nginx]
command=/usr/sbin/nginx -g "daemon off;"
autostart=true
autorestart=true
stderr_logfile=/var/log/nginx/error.log
stdout_logfile=/var/log/nginx/access.log

nginx.conf içerisine yukarıdaki kısmı ekleyelim.Dosyayı kaydedip çıkalım.

# supervisorctl reread
# supervisorctl update

Nginx servisi için yapılanmayı tamamladıktan sonra supervisorctl‘i yeniden başlataım.

# supervisorctl status all

ile servisleri listeleyebiliriz.

output # nginx                  STOPPED   Dec 26 05:57 PM

# supervisorctl start all yada # supervisorctl start nginx ile servisi veya servislerin hepsini başlatabiliriz.

stop ile servisi durdurabilir. restart ile servisi tekrardan başlatabiliriz.

config dosyası için;

supervisor için örnek yapılandırma:

command=/path/to/myapp.py ; Uygulamanın çalıştırılacağı komut veya betik

directory=/path/to/my/app ; Uygulamanın çalıştırılacağı dizin

autostart=true ; Supervisor servisi başlatıldığında otomatik olarak uygulamayı başlatma

autorestart=true ; Uygulama beklenmedik bir şekilde durduğunda otomatik olarak yeniden başlatma

stderr_logfile=/var/log/myapp.err.log ; Standart hata çıkışı için log dosyası yolu stdout_logfile=/var/log/myapp.out.log ; Standart çıkış için log dosyası yolu user=myuser ; Uygulamayı hangi kullanıcı adıyla çalıştırması gerektiği environment=ENV_VAR1=”value1″,ENV_VAR2=”value2″ ; Uygulamanın çalıştığı ortam değişkenleri

Gerçek bir Supervisor yapılandırma dosyası, sistemdeki uygulamanın gereksinimlerine göre değişebilir. Yapılandırma dosyasında yer alan command, directory, autostart, autorestart, stderr_logfile, stdout_logfile, user gibi anahtarlar, Supervisor tarafından yönetilecek sürecin özelliklerini belirtir. Bu özellikler, Supervisor’ün izleyeceği süreçlerin davranışlarını ve çalışma koşullarını tanımlar.

Faydalı Olması Dileğiyle.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir