LEMP Kurulumu ve Yapılandırması: Linux Sunucularda Yüksek Performanslı Web Sunucusu Oluşturmak
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.