Kritik Kural: Oturum Silme YOK!
Bu plandaki hiçbir adım kullanıcı oturumlarını silmez. redis-cli FLUSHALL ve benzeri komutlar YASAKTIR.
Mevcut Durum Özeti
Ne Oluyor?
- Bazı kullanıcılar siteye giriş yapamıyor
- Redis (oturum deposu) 34 gündür yeniden başlatılmamış
- Hafıza parçalanması normalin 10 katı
- Günlük 400MB log dosyası üretiliyor
Sistem Metrikleri
Çözüm Planı (Sıralı Adımlar)
Debug Logları Kapat
GüvenliHerkes İçin
Sistem her işlemde gereksiz kayıt tutuyor. Bu kapatılacak ve disk yükü azalacak.
Teknik Detay
SetTenantSessionConfig middleware'deki DEBUG logları kapatılacak. .env'de LOG_LEVEL kontrol edilecek.
Çalıştırılacak Komutlar:
# 1. Log seviyesini kontrol et
grep LOG_LEVEL .env
# 2. Middleware'deki debug logları yorum satırı yap
# Dosya: app/Http/Middleware/SetTenantSessionConfig.php
# Log::debug satırlarını // ile kapat
Eski Log Dosyalarını Temizle
GüvenliHerkes İçin
Son 1 haftanın log dosyaları 3GB+ yer kaplıyor. Eski loglar silinecek, disk alanı açılacak.
Teknik Detay
storage/logs/ altındaki 7 günden eski .log dosyaları silinecek. Güncel loglar korunacak.
Çalıştırılacak Komutlar:
# 7 günden eski log dosyalarını sil
find storage/logs/ -name "*.log" -mtime +7 -delete
# Disk kullanımını kontrol et
du -sh storage/logs/
Laravel Cache Temizle (Session Hariç)
GüvenliHerkes İçin
Sistem ayarları ve görünüm dosyaları yeniden oluşturulacak. Kullanıcılar etkilenmez.
Teknik Detay
config:clear, route:clear, view:clear çalıştırılacak. cache:clear Redis DB1'i temizler (session DB0'da).
Çalıştırılacak Komutlar:
# Session'lar DB0'da, Cache DB1'de - güvenli
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear # DB1 - session etkilenmez
php artisan responsecache:clear
# OPcache temizle
curl -s -k https://muzibu.com/opcache-reset.php
# Config ve route'ları yeniden cache'le
php artisan config:cache
php artisan route:cache
Redis BGSAVE + Graceful Restart
DikkatliHerkes İçin
Oturum deposu güvenli şekilde yeniden başlatılacak. Önce tüm oturumlar diske kaydedilecek, sonra sistem yenilenecek.
Teknik Detay
BGSAVE ile RDB snapshot alınır, restart sonrası otomatik yüklenir. Memory fragmentation düzelir.
Çalıştırılacak Komutlar:
# 1. Önce mevcut session sayısını kaydet
redis-cli KEYS "*session*" | wc -l
# 2. RDB snapshot al (arka planda)
redis-cli BGSAVE
# 3. BGSAVE tamamlanmasını bekle
redis-cli LASTSAVE # timestamp değişene kadar bekle
# 4. Graceful restart (snapshot'tan yükler)
sudo systemctl restart redis
# 5. Session sayısını doğrula
redis-cli KEYS "*session*" | wc -l
Önemli: BGSAVE tamamlanmadan restart YAPMA! Restart sırasında 1-2 saniye kesinti olabilir ama oturumlar korunur.
Horizon Restart
GüvenliHerkes İçin
Arka plan işlemcisi yenilenecek. E-posta gönderimi, bildirimler gibi işlemler etkilenmez.
Teknik Detay
horizon-muzibu.service restart edilecek. Queue işleri kuyrukta bekler, kaybolmaz.
Çalıştırılacak Komutlar:
sudo systemctl restart horizon-muzibu
sudo systemctl status horizon-muzibu
Doğrulama ve Test
KontrolHerkes İçin
İşlemler sonrası sistemin düzgün çalıştığı doğrulanacak. Login testi yapılacak.
Teknik Detay
Redis INFO, session count, fragmentation ratio kontrol edilecek. Site 200 OK kontrolü yapılacak.
Çalıştırılacak Komutlar:
# 1. Redis durumu
redis-cli INFO memory | grep -E "used_memory_human|mem_fragmentation"
# 2. Session sayısı (öncekiyle karşılaştır)
redis-cli KEYS "*session*" | wc -l
# 3. Site erişim testi
curl -s -k -I https://muzibu.com/ | head -n 1
curl -s -k -I https://www.muzibu.com/ | head -n 1
# 4. Login sayfası testi
curl -s -k -I https://www.muzibu.com/login | head -n 1
# 5. Log hata kontrolü
tail -50 storage/logs/laravel.log | grep -i error
Kesinlikle Yapılmayacaklar
Redis Komutları
-
redis-cli FLUSHALL -
redis-cli FLUSHDB -
redis-cli DEL *session*
Laravel Komutları
-
php artisan session:clear -
php artisan auth:clear-resets - BGSAVE'siz Redis restart