Ana içeriğe geç

Ubuntu Üzerinde Nginx (LEMP) ile Laravel Kurulumu

Ubuntu Üzerinde Nginx (LEMP) ile Laravel Kurulumu​

Bu rehber, Ubuntu sunucusu üzerinde LEMP yığını (Linux, Nginx, MySQL, PHP) kullanarak Laravel uygulamasını üretim ortamına hazırlamayı anlatır.
Amaç, güvenli, performanslı ve ölçeklenebilir bir Laravel altyapısı kurmaktır.

Bu Rehberde Ne Öğreneceksiniz?​

  • Laravel için gerekli PHP 8.2+ eklentilerini kurmayı
  • Güvenli bir MySQL veritabanı ve kullanıcı oluşturmayı
  • Nginx’i Laravel yönlendirme mantığına uygun yapılandırmayı
  • SSL ve temel performans optimizasyonlarını uygulamayı

1. Gerekli PHP Eklentilerinin Kurulması​

Laravel, bazı temel PHP uzantılarına ihtiyaç duyar.

sudo apt update
sudo apt install php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-curl php8.2-zip php8.2-gd
  • Bu komut, Laravel’in çalışması için gerekli tüm PHP bileşenlerini kurar.

2. MySQL Veritabanı Yapılandırması​

  1. Uygulama için ayrı bir veritabanı ve kısıtlı yetkili kullanıcı oluşturun.

CREATE DATABASE rabisu_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'rabisu_user'@'localhost' IDENTIFIED BY 'guclu_sifre_buraya';
GRANT ALL PRIVILEGES ON rabisu_db.* TO 'rabisu_user'@'localhost';
FLUSH PRIVILEGES;
  • Bu yapılandırma yalnızca yerel erişime izin verir ve üretim için uygundur.

3. Laravel Uygulamasının Oluşturulması​

  1. Composer ile yeni bir Laravel projesi oluşturun.

cd ~
composer create-project laravel/laravel travellist
sudo mv ~/travellist /var/www/travellist

4. Dosya İzinleri ve Ortam Ayarları​

  1. Laravel’in önbellek ve log yazabilmesi için gerekli izinleri verin.

sudo chown -R www-data:www-data /var/www/travellist
sudo chmod -R 775 /var/www/travellist/storage
sudo chmod -R 775 /var/www/travellist/bootstrap/cache
  1. Ardından .env dosyasında veritabanı bilgilerini güncelleyin.

5. Nginx Yapılandırması​

  1. Laravel için bir Nginx sunucu bloğu oluşturun.

server {
listen 80;
server_name rabisu.cloud;
root /var/www/travellist/public;
index index.php;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
  • Bu yapılandırma, tüm istekleri Laravel’in ana giriş dosyasına yönlendirir.

Sıkça Sorulan Sorular (SSS)​

1. Laravel için neden Nginx tercih edilir? Nginx, düşük bellek tüketimiyle yüksek eşzamanlı bağlantıları daha verimli yönetir.

2. 502 Bad Gateway hatası ne anlama gelir? Genellikle PHP-FPM servisinin çalışmadığını veya socket yolunun uyuşmadığını gösterir.

3. Üretim ortamında performans nasıl artırılır? Laravel yapılandırma ve rota önbelleği kullanılmalıdır.


php artisan config:cache
php artisan route:cache

Sonuç​

Bu rehberle Ubuntu üzerinde güvenli ve optimize edilmiş bir Laravel ortamı kurdunuz. Nginx performansı ve PHP-FPM mimarisi sayesinde uygulamanız üretime hazırdır.

Profesyonel projeleriniz için bu yapılandırmayı Rabisu Bulut altyapısında hemen deneyebilirsiniz.