🚀 Laravel LEMP Kurulumu Sonrası Performans Optimizasyonu
💡 Bu Rehberde Ne Öğreneceksiniz
Bu rehberde, Ubuntu 22.04 üzerinde Laravel uygulamanızı kurduktan sonra, üretim ortamına (production) uygun hale getirmeniz için uygulayabileceğiniz performans, güvenlik ve önbellek (cache) ayarlarını adım adım inceleyeceğiz.
⚙️ 1. Laravel Uygulamasını Üretim Moduna Alın
.env dosyasındaki ortam ayarlarını değiştirin:
nano /var/www/gezilistesi/.env
Aşağıdaki satırları güncelleyin:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://rabisu.cloud
Bu ayar, hata detaylarını kullanıcıya göstermemek ve güvenliği artırmak için önemlidir.
⚡ 2. Laravel Cache ve Optimize Komutlarını Çalıştırın
Laravel, konfigürasyon, rota ve görünüm dosyalarını belleğe önbellekleyerek performansı artırabilir.
Tüm optimizasyon komutlarını çalıştırın:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
Bu komutlar, uygulama yükleme süresini ciddi oranda azaltır.
🔐 3. Dosya ve İzin Güvenliğini Sağlayın
Laravel dizininde gereksiz izinleri kaldırın ve yalnızca gerekli klasörlere yazma yetkisi verin:
sudo chown -R www-data:www-data /var/www/gezilistesi/storage
sudo chown -R www-data:www-data /var/www/gezilistesi/bootstrap/cache
sudo chmod -R 755 /var/www/gezilistesi
sudo chmod -R 775 /var/www/gezilistesi/storage /var/www/gezilistesi/bootstrap/cache
Bu ayar, Laravel’in log ve cache işlemleri yapabilmesini sağlar, diğer dosyaları ise koruma altına alır.
🌐 4. Nginx İçin GZIP ve Cache Ayarlarını Aktifleştirin
Nginx yapılandırma dosyanızı açın:
sudo nano /etc/nginx/sites-available/gezilistesi
Aşağıdaki satırları server bloğunun içine ekleyin:
# GZIP sıkıştırma
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml+rss;
gzip_min_length 1000;
# Statik dosyalar için tarayıcı önbellekleme
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
access_log off;
}
Nginx’i test edip yeniden yükleyin:
sudo nginx -t
sudo systemctl reload nginx
Bu sayede CSS, JS ve görseller tarayıcıda önbelleğe alınır, sayfa yükleme süresi hızlanır.
🧩 5. PHP-FPM Ayarlarını Optimize Edin
PHP-FPM konfigürasyon dosyasını düzenleyin:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Aşağıdaki değerleri optimize edin:
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 10
Değişikliklerden sonra PHP-FPM servisini yeniden başlatın:
sudo systemctl restart php8.1-fpm
Bu ayarlar, yoğun trafik altında PHP isteklerinin daha verimli yönetilmesini sağlar.
🧱 6. Veritabanı Performansını Artırın
MySQL konfigürasyon dosyasını düzenleyin:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Aşağıdaki değerleri ekleyin veya güncelleyin:
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 64M
innodb_buffer_pool_size = 512M
innodb_log_file_size = 128M
MySQL servisini yeniden başlatın:
sudo systemctl restart mysql
Bu ayarlar, sorgu önbelleğini aktif eder ve büyük tablolarla çalışırken verimi artırır.
🛡️ 7. SSL (HTTPS) Desteğini Ekleyin
Let’s Encrypt sertifikası ile HTTPS kurun:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d rabisu.cloud
Sertifikalar 90 günde bir otomatik yenilenir, güvenli bağlantı sağlanır.
📊 8. Laravel Log Yönetimini Optimize Edin
Log dosyalarının çok büyümesini önlemek için log rotasyonu etkinleştirin:
sudo nano /etc/logrotate.d/laravel
İçeriği ekleyin:
/var/www/gezilistesi/storage/logs/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 www-data www-data
}
Bu yapı, log dosyalarını her gün döndürür ve sunucuda gereksiz disk alanı kullanımını önler.
🧠 9. Cache Driver’ı Değiştirin (Redis veya Memcached)
Daha hızlı bir cache sistemi için Redis önerilir:
sudo apt install redis-server -y
.env dosyanızda şu değişikliği yapın:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
Redis, dosya tabanlı cache’e göre 5-10 kat daha hızlıdır.
🏁 Sonuç
Tebrikler! Artık Laravel uygulamanız yalnızca kurulu değil, aynı zamanda üretim seviyesinde optimize edilmiş durumda 🎯 Nginx önbelleklemesi, PHP-FPM ayarları, SSL ve Redis entegrasyonu sayesinde yüksek trafik altında bile kararlı performans elde edeceksiniz.
💡 Bu optimizasyonları kendi projenizde hemen uygulayabilir veya Rabisu Bulut üzerinde tam optimize edilmiş Laravel sunucularını kullanarak anında deneyebilirsiniz. ☁️