Ubuntu sunucularında süreç yönetimi, özellikle uzun süreli çalışan uygulamalar için kritik öneme sahiptir. Supervisor, bu alanda güvenilir bir araç olarak öne çıkar.
Ubuntu sunucularında süreç yönetimi, özellikle uzun süreli çalışan uygulamalar için kritik öneme sahiptir. Supervisor, bu alanda güvenilir bir araç olarak öne çıkar. Bu makale, Ubuntu sunucularınıza Supervisor’ı kurma, yapılandırma ve etkin kullanma süreçlerini adım adım ele alacaktır. Kurumsal ortamlar için tasarlanmış bu rehber, sistem yöneticilerine pratik ve güvenli bir yol haritası sunmayı amaçlamaktadır. Supervisor sayesinde, Node.js, Python veya PHP gibi uygulamalarınızı arka planda stabil bir şekilde çalıştırabilir, otomatik yeniden başlatma ve izleme özelliklerinden faydalanabilirsiniz.
Supervisor, açık kaynaklı bir süreç denetleyicisidir ve Unix benzeri sistemlerde daemon süreçlerini yönetmek için geliştirilmiştir. Ubuntu gibi Debian tabanlı dağıtımlarda kolayca entegre olur. Temel avantajları arasında, süreçlerin otomatik yeniden başlatılması, log yönetimi ve web tabanlı arayüz üzerinden izleme yer alır. Kurumsal sunucularda, yüksek kullanılabilirlik gerektiren web uygulamaları veya API servisleri için idealdir. Örneğin, bir web uygulamasının çökmesi durumunda Supervisor, tanımlı kurallara göre süreci saniyeler içinde yeniden ayağa kaldırır.
Supervisor’ı seçmenin bir diğer nedeni, esnek konfigürasyon dosyalarıdır. XML benzeri INI formatında program tanımları yapabilir, kullanıcı izinlerini hassas şekilde ayarlayabilirsiniz. Performans açısından hafif yapıdadır ve sistem kaynaklarını minimum düzeyde tüketir. Ubuntu 20.04 veya 22.04 gibi sürümlerde sorunsuz çalışır, ancak öncelikle sisteminizin güncel olduğundan emin olun.
Kurulum işlemi basit ve hızlıdır. Öncelikle sunucunuzun paket listesini güncelleyin. Terminal üzerinden şu komutları sırayla çalıştırın:
sudo apt update ile paket indeksini yenileyin.sudo apt upgrade -y ile mevcut paketleri güncelleyin.sudo apt install supervisor -y ile Supervisor’ı yükleyin.Kurulum tamamlandıktan sonra, hizmeti etkinleştirin ve başlatın: sudo systemctl enable supervisor ve sudo systemctl start supervisor. Durumu kontrol etmek için sudo systemctl status supervisor komutunu kullanın. Bu adımlar, Supervisor’ın sistem başlangıcında otomatik olarak başlamasını sağlar. Kurulum sonrası varsayılan konfigürasyon dosyası /etc/supervisor/supervisord.conf konumundadır. Bu dosya, ana ayarları içerir ve gerekirse düzenlenebilir.
Kurulum öncesi, Ubuntu sürümünüzün 18.04 veya üzeri olduğundan emin olun. Python 3.x yüklü olmalıdır, zira Supervisor Python tabanlıdır. Disk alanı en az 50 MB boş olmalı ve root erişimi gereklidir. Bu kontrolleri lsb_release -a ve df -h ile yapabilirsiniz. Eksik bağımlılıklar otomatik yüklenir, ancak firewall ayarlarında Supervisor’ın varsayılan portu 9001’i açmayı unutmayın.
Hizmeti başlattıktan sonra, supervisorctl status ile tüm süreçleri listeleyin. Çıktıda “running” durumunu görmelisiniz. Log dosyalarını /var/log/supervisor/supervisord.log üzerinden inceleyin. Herhangi bir hata durumunda, journalctl ile detaylı loglara erişin: journalctl -u supervisor. Bu adımlar, kurulumun başarıyla tamamlandığını doğrular.
Konfigürasyon, /etc/supervisor/conf.d/ dizinine yeni dosyalar ekleyerek yapılır. Her program için ayrı bir .conf dosyası oluşturun. Örnek bir yapılandırma şu şekildedir: [program:ornekuygulama] bloğu altında command=/usr/bin/python3 /path/to/app.py, directory=/path/to/app, autostart=true ve autorestart=true gibi parametreleri tanımlayın. Değişiklikleri uygulamak için sudo supervisorctl reread ve sudo supervisorctl update komutlarını çalıştırın.
Pratik kullanımda, supervisorctl start/stop/restart program_adi ile süreçleri yönetin. Web arayüzü için [inet_http_server] bölümünü etkinleştirin ve tarayıcıdan sunucu_ip:9001 adresine erişin. Kullanıcı adı ve şifre ekleyerek güvenliği artırın. Log rotasyonu için stderr_logfile=/var/log/app.err.log tanımlayın.
Bir Node.js uygulamasını yönetmek için nano /etc/supervisor/conf.d/nodejs-app.conf ile dosya oluşturun. İçeriğe [program:nodejs-app], command=cd /opt/myapp && npm start, user=www-data, numprocs=1, redirect_stderr=true ekleyin. Güncelleyin ve supervisorctl status nodejs-app ile test edin. Bu yapı, uygulamanın çökmesi halinde 3 deneme sonrası kalıcı durdurma sağlar.
İzin hatalarında, chown -R www-data:www-data /path/to/app kullanın. Port çakışmalarında process_name’i değiştirin. Bellek sızıntılarında stopasgroup=true ekleyin. Performans izlemede supervisorctl pid program_adi ile PID alın. Bu çözümler, kurumsal ortamlarda kesintisiz operasyon sağlar.
Supervisor’ı başarıyla kurup yapılandırdıktan sonra, sunucunuzdaki uygulamalar daha güvenilir hale gelir. Düzenli bakım, log takibi ve güncellemelerle uzun vadeli performans elde edersiniz. Bu rehberi takip ederek, ekip üyelerinizle paylaşabilir ve standartlaştırılmış bir süreç yönetimi altyapısı kurabilirsiniz. İleri düzeyde özelleştirmeler için resmi belgeleri inceleyin, ancak temel adımlarınız sağlam temellere oturacaktır.