Linux sunucularda arka planda çalışan servislerin (Apache, Nginx, MySQL, LiteSpeed, SSH vb.) durumunu kontrol etmek, yeniden başlatmak veya sunucu açılışında otomatik başlamasını sağlamak için systemctl komutları kullanılır.
Bu makalede, en sık ihtiyaç duyacağınız temel servis yönetimi komutlarını örnekleriyle birlikte inceleyeceğiz.
---
1. Temel Servis Komutları ve Anlamları
Komutların genel kullanım yapısı şu şekildedir: systemctl [eylem] [servis_adi]
- status (Durum Kontrolü): Servisin o an çalışıp çalışmadığını, aktif olup olmadığını ve varsa son log kayıtlarını gösterir.
systemctl status nginx - start (Servisi Başlatma): Durdurulmuş olan bir servisi aktif hale getirir.
systemctl start nginx - stop (Servisi Durdurma): Çalışan bir servisi tamamen kapatır.
systemctl stop nginx - restart (Yeniden Başlatma): Servisi önce kapatır, ardından hemen geri açar. Özellikle yapılandırma (konfigürasyon) değişikliklerinden sonra servislerin yeni ayarları algılaması için kullanılır.
systemctl restart nginx - reload (Ayarları Yeniden Yükleme): Servisi tamamen kapatıp açmadan, yani web sitesindeki bağlantıları kesmeden sadece arka plandaki ayar dosyalarını yeniden okutur.
systemctl reload nginx
---
2. Sunucu Açılış Ayarları (Enable / Disable)
Sunucunuz donanımsal veya yazılımsal olarak yeniden başladığında (reboot), kritik servislerin otomatik olarak kendiliğinden açılması veya kapalı kalması için şu komutlar kullanılır:
- enable (Başlangıca Ekle): Servisin, sunucu her başladığında otomatik olarak arka planda çalışmasını sağlar.
systemctl enable mysql - disable (Başlangıçtan Kaldır): Sunucu yeniden başladığında servisin otomatik açılmasını engeller (Manuel başlatılması gerekir).
systemctl disable mysql
---
3. Hosting Sektöründe En Sık Kullanılan Servis İsimleri
Yukarıdaki komutları uygularken servis adını tam olarak yazmanız gerekir. Sunucunuzda kurulu olan popüler servislerin isimleri genellikle şu şekildedir:
| Servis Adı | CentOS / AlmaLinux Adı | Ubuntu / Debian Adı |
|---|---|---|
| Apache Web Server | httpd |
apache2 |
| Nginx Web Server | nginx |
nginx |
| MySQL / MariaDB | mariadb veya mysqld |
mysql |
| LiteSpeed Web Server | lsws |
lsws |
| SSH Protokolü | sshd |
ssh |
Örnek Kullanım: AlmaLinux sunucunuzda Apache web sunucusunu yeniden başlatmak için systemctl restart httpd komutunu vermeniz yeterlidir.
---
Hızlı Sorun Giderme: Servis "Active (running)" mi?
Bir servisin durumunu sorguladığınızda terminal ekranında yeşil renkli active (running) yazısını görüyorsanız her şey yolundadır. Eğer kırmızı renkli inactive (dead) veya failed uyarısı alıyorsanız, servis çöküş nedenini öğrenmek için şu komutla logları inceleyebilirsiniz:
journalctl -u servis_adi --no-pager | tail -n 20