Yazı Boyutu:

Giriş

LEMP, web sunucularında performans ve şeffaflık arayan sistem yöneticileri için ideal bir yığındır. "LEMP"; Linux, Nginx (Engine-X), MariaDB (veya MySQL) ve PHP'den oluşan bir web sunucusu paketidir. Bu mimari sayesinde, dinamik web siteleri ve uygulamaların hızlı, güvenli ve esnek şekilde yayınlanması mümkündür. Bu makalede, LEMP yığının adım adım nasıl kurulduğunu ve optimize edildiğini detaylı bir şekilde anlatacağız.


1. LEMP Mimarisi Nedir?

  • Linux: Tüm yığının çalıştığı temel işletim sistemidir.

  • Nginx: Apache'ye alternatif olarak geliştirilmiş, hafif ve hızlı bir web sunucusudur.

  • MariaDB/MySQL: Veritabanı yönetim sistemidir. Genellikle MariaDB tercih edilir.

  • PHP: Dinamik içerik sunmak için kullanılan betik dilidir.


2. Gerekli Ortam ve Hazırlıklar

  • Ubuntu 20.04 veya 22.04 önerilir.

  • Root veya sudo yetkisine sahip bir kullanıcı.

  • DNS ayarları yapılmış bir domain (opsiyonel).


3. Adım Adım LEMP Kurulumu

3.1. Sistem Paketlerinin Güncellenmesi

sudo apt update && sudo apt upgrade -y

3.2. Nginx Kurulumu

sudo apt install nginx -y

Ardından Nginx servisini başlat:

sudo systemctl start nginx
sudo systemctl enable nginx

3.3. MariaDB Kurulumu

sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb

MariaDB güvenlik ayarları:

sudo mysql_secure_installation

3.4. PHP ve Gerekli Eklentiler

sudo apt install php-fpm php-mysql php-cli php-curl php-mbstring php-xml php-zip -y

4. Nginx Yapılandırması

Default site ayar dosyasını düzenleyin:

sudo nano /etc/nginx/sites-available/default

Şu blok PHP işleme için aktif hale getirilmeli:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

PHP sürümünüze göre php7.4-fpm.sock değiştirilebilir.

Yapılandırmaları test edin ve Nginx'i yeniden başlatın:

sudo nginx -t
sudo systemctl reload nginx

5. PHP Test Sayfası Oluşturma

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Tarayıcıda http://sunucu-ip-adresi/info.php adresine giderek test edin.


6. MariaDB Veritabanı Oluşturma

sudo mysql -u root -p
CREATE DATABASE ornekdb;
CREATE USER 'kullanici'@'localhost' IDENTIFIED BY 'sifre';
GRANT ALL PRIVILEGES ON ornekdb.* TO 'kullanici'@'localhost';
FLUSH PRIVILEGES;

7. Performans Optimizasyonu Önerileri

  • Nginx için gzip ve cache etkinleştirme

  • PHP-FPM için pm.max_children, pm.start_servers gibi değerleri yükte test ederek ayarlama

  • MariaDB için InnoDB cache ve slow query log kullanımı

  • Her servise fail2ban ve firewall ayarları ekleme


Sonuç

LEMP yığını, Linux tabanlı sistemlerde web servislerini güvenli, şeffaf ve hızlı bir şekilde yayınlamak için şahane bir seçenektir. Özellikle WordPress gibi PHP tabanlı sistemlerle kullanıldığında ciddi performans farkları yaratabilir. Kurulumu ve yapılandırması özenle yapıldığında, uzun yıllar boyunca sorunsuz hizmet veren bir sunucu altyapısının temelini atabilirsiniz.