Konuyu Açan
#1
Linux'ta Python Uygulamasını systemd Servisi Olarak Çalıştırma
Linux sistemlerde Python tabanlı uygulamaları otomatik olarak başlatmak ve yönetmek için systemd servisleri kullanılabilir. Bu yöntem, özellikle uzun süre çalışan veya sistem açılışında otomatik başlaması gereken uygulamalar için pratik ve güvenilir bir çözümdür.
İlk adım olarak, Python uygulamanızın tam yolunu belirlemek ve çalıştırılabilir hale getirmek önemlidir. Örneğin,
İkinci aşamada, systemd servis dosyası oluşturmanız gerekir. Bu dosya genellikle
Örnek bir servis dosyası şu şekildedir:
Bu yapılandırmada dikkat edilmesi gereken noktalar şunlardır:
Servis dosyasını kaydettikten sonra, aşağıdaki komutlar ile servisi etkinleştirebilir ve başlatabilirsiniz:
Bu sayede, sistem açılışında otomatik olarak devreye girer ve gerekirse
Son olarak, Python uygulamanızın sürekli çalışmasını sağlamak ve güvenilirliği artırmak adına, loglama ve hata yönetimine dikkat etmek, uygun izinleri ayarlamak ve gerekirse ortam değişkenlerini konfigüre etmek önemlidir. Bu yöntemle Linux sisteminizde Python tabanlı uygulamaları sistem servisleriyle entegre biçimde yönetebilirsiniz.
Linux sistemlerde Python tabanlı uygulamaları otomatik olarak başlatmak ve yönetmek için systemd servisleri kullanılabilir. Bu yöntem, özellikle uzun süre çalışan veya sistem açılışında otomatik başlaması gereken uygulamalar için pratik ve güvenilir bir çözümdür.
İlk adım olarak, Python uygulamanızın tam yolunu belirlemek ve çalıştırılabilir hale getirmek önemlidir. Örneğin,
/home/kullanici/proje/uygulama.py yolunda bir scriptiniz olduğunu varsayalım. Bu durumda, Python yorumlayıcısının yolu ve script yolu net olmalı.İkinci aşamada, systemd servis dosyası oluşturmanız gerekir. Bu dosya genellikle
/etc/systemd/system/ dizininde bulunur ve .service uzantısı taşır. Bu dosyada, uygulamanızın çalıştırılma parametreleri ve sistemdeki davranışları belirlenir.Örnek bir servis dosyası şu şekildedir:
KOD
123456789101112131415
[Unit]
Description=Python Uygulaması
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/kullanici/proje/uygulama.py
WorkingDirectory=/home/kullanici/proje
StandardOutput=journal
StandardError=journal
Restart=on-failure
User=kullanici
[Install]
WantedBy=multi-user.target
Bu yapılandırmada dikkat edilmesi gereken noktalar şunlardır:
ExecStartsatırında Python yorumlayıcısının ve scriptin tam yolu kesinlikle doğru olmalı.Userparametresi ile servisin çalışacağı kullanıcı belirtilmeli.Restart=on-failureile uygulama hata aldığında otomatik yeniden başlaması sağlanır.After=network.targetile ağ hizmetleri başladıktan sonra çalışması sağlanır.
Servis dosyasını kaydettikten sonra, aşağıdaki komutlar ile servisi etkinleştirebilir ve başlatabilirsiniz:
KOD
1234
sudo systemctl daemon-reload
sudo systemctl enable uygulama.service
sudo systemctl start uygulama.service
Bu sayede, sistem açılışında otomatik olarak devreye girer ve gerekirse
systemctl komutlarıyla durdurulup başlatılabilir. Sistem yönetimi ve hata ayıklama için journalctl -u uygulama.service komutu kullanışlıdır.Son olarak, Python uygulamanızın sürekli çalışmasını sağlamak ve güvenilirliği artırmak adına, loglama ve hata yönetimine dikkat etmek, uygun izinleri ayarlamak ve gerekirse ortam değişkenlerini konfigüre etmek önemlidir. Bu yöntemle Linux sisteminizde Python tabanlı uygulamaları sistem servisleriyle entegre biçimde yönetebilirsiniz.
