Konuyu Açan
#1
Linux Sunucuda Systemd Servis Oluşturma
Sunucu yönetiminde otomasyonu sağlamak ve uygulamalarınızın kararlı çalışmasını garanti altına almak için systemd servisleri vazgeçilmez bir araçtır. Bu yapı, özellikle uzun süre çalışan uygulamalar veya arka plan hizmetleri için kullanılır. Peki, yeni bir systemd servisi nasıl oluşturulur ve yapılandırılır? İşte adım adım detaylar.
İlk olarak, servis tanım dosyasını oluşturmak gerekir. Bu dosya, genellikle [/b]/etc/systemd/system/[/b] dizininde yer alır ve .service uzantısıyla kaydedilir. Örneğin, örnek bir web uygulaması için myapp.service adında bir dosya oluşturalım:
Burada, [Unit] bölümü servisin genel tanımını ve bağımlılıklarını belirtir. [Service] kısmında ise çalıştırılacak komut, kullanıcı ve yeniden başlatma politikası tanımlanır. En önemli nokta, ExecStart satırı ile uygulamanın çalıştırılacak komutunu net biçimde belirtmek.
Servis dosyasını kaydettikten sonra, sistemde tanıtmak ve etkinleştirmek için şu komutları kullanıyoruz:
Bu adımlar tamamlandıktan sonra, uygulamanız sistem başlangıcında otomatik olarak başlar ve sistemd tarafından izlenir. Ayrıca, loglar genellikle journalctl komutuyla takip edilir.
Bu temel yapılandırmayla birlikte, ihtiyaç duyulan özelleştirmeleri ve gelişmiş ayarları da ekleyebilirsiniz. Örneğin, ortam değişkenleri veya özel yeniden başlatma politikaları belirleyerek servisinizin kararlılığını artırabilirsiniz. Sunucu ortamınıza uygun detaylı yapılandırma, sistem yönetimini büyük ölçüde kolaylaştıracaktır.
Sunucu yönetiminde otomasyonu sağlamak ve uygulamalarınızın kararlı çalışmasını garanti altına almak için systemd servisleri vazgeçilmez bir araçtır. Bu yapı, özellikle uzun süre çalışan uygulamalar veya arka plan hizmetleri için kullanılır. Peki, yeni bir systemd servisi nasıl oluşturulur ve yapılandırılır? İşte adım adım detaylar.
İlk olarak, servis tanım dosyasını oluşturmak gerekir. Bu dosya, genellikle [/b]/etc/systemd/system/[/b] dizininde yer alır ve .service uzantısıyla kaydedilir. Örneğin, örnek bir web uygulaması için myapp.service adında bir dosya oluşturalım:
KOD
1234567891011121314
[Unit]
Description=My Custom Application Service
After=network.target
[Service]
Type=simple
User=ubuntu
ExecStart=/usr/bin/python3 /opt/myapp/app.py
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Burada, [Unit] bölümü servisin genel tanımını ve bağımlılıklarını belirtir. [Service] kısmında ise çalıştırılacak komut, kullanıcı ve yeniden başlatma politikası tanımlanır. En önemli nokta, ExecStart satırı ile uygulamanın çalıştırılacak komutunu net biçimde belirtmek.
Servis dosyasını kaydettikten sonra, sistemde tanıtmak ve etkinleştirmek için şu komutları kullanıyoruz:
- Sistemd yapılandırmasını yeniden yükle: KOD
1
sudo systemctl daemon-reload - Servisi etkinleştir (başlangıçta otomatik başlar): KOD
1
sudo systemctl enable myapp.service - Servisi başlat: KOD
1
sudo systemctl start myapp.service - Durumunu kontrol et: KOD
1
sudo systemctl status myapp.service
Bu adımlar tamamlandıktan sonra, uygulamanız sistem başlangıcında otomatik olarak başlar ve sistemd tarafından izlenir. Ayrıca, loglar genellikle journalctl komutuyla takip edilir.
Bu temel yapılandırmayla birlikte, ihtiyaç duyulan özelleştirmeleri ve gelişmiş ayarları da ekleyebilirsiniz. Örneğin, ortam değişkenleri veya özel yeniden başlatma politikaları belirleyerek servisinizin kararlılığını artırabilirsiniz. Sunucu ortamınıza uygun detaylı yapılandırma, sistem yönetimini büyük ölçüde kolaylaştıracaktır.
