sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa Web Sunucuları Nginx Kurulumu LEMP Stack Kurulumu: Nginx + MySQL + PHP Ubuntu...
🟢 Nginx Kurulumu

LEMP Stack Kurulumu: Nginx + MySQL + PHP Ubuntu 22.04

Ubuntu 22.04'te LEMP stack (Linux, Nginx, MySQL, PHP) tam kurulumu, PHP-FPM entegrasyonu ve test sayfası rehberi.

📅 1 Mayıs 2025 👁 8 görüntülenme ⏱ 5 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

LEMP Stack Nedir?

LEMP Stack; Linux işletim sistemi, ENginx web sunucusu (Engine-X olarak okunur), MySQL veritabanı yönetim sistemi ve PHP programlama dilinin baş harflerinden oluşan popüler bir yazılım yığınıdır. Modern web uygulamalarının büyük çoğunluğu bu dört bileşen üzerine inşa edilmektedir.

Nginx, Apache'ye kıyasla çok daha az kaynak kullanarak yüksek eşzamanlı bağlantıları işleyebilen event-driven (olay tabanlı) mimarisiyle öne çıkar. PHP-FPM (FastCGI Process Manager) ile entegrasyon sayesinde PHP istekleri ayrı worker process'ler üzerinden çok daha verimli biçimde işlenir. Bu kombinasyon özellikle yüksek trafikli WordPress, Laravel ve Symfony uygulamaları için idealdir.

Ön Gereksinimler

  • Ubuntu 22.04 LTS sunucu (veya 20.04)
  • Root veya sudo yetkili kullanıcı hesabı
  • 80 ve 443 numaralı portların açık olması
  • Temel Linux komut satırı bilgisi

Adım 1: Sistem Paketlerini Güncelleyin

Kuruluma başlamadan önce her zaman sistemi güncel tutun:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg2 software-properties-common

Adım 2: Nginx Kurulumu

Ubuntu resmi deposundan Nginx'i kurun:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Nginx kurulumunu doğrulamak için tarayıcınızdan sunucu IP adresinize gidin; "Welcome to nginx!" sayfasını görmelisiniz.

UFW Güvenlik Duvarı Ayarı

sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Adım 3: MySQL 8.0 Kurulumu

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

MySQL Güvenlik Yapılandırması

Kurulum sonrasında mutlaka güvenlik scriptini çalıştırın:

sudo mysql_secure_installation

Bu işlem sırasında şunları yapın: validate password plugin kurun, root şifresi belirleyin, anonim kullanıcıları kaldırın, remote root girişini devre dışı bırakın ve test veritabanını kaldırın.

Uygulama Veritabanı ve Kullanıcı Oluşturma

sudo mysql -u root -p
CREATE DATABASE lemp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'lemp_user'@'localhost' IDENTIFIED BY 'GucluSifre_2024!';
GRANT ALL PRIVILEGES ON lemp_db.* TO 'lemp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Adım 4: PHP 8.1 ve PHP-FPM Kurulumu

PHP'nin LTS sürümünü ve yaygın kullanılan eklentileri kurun:

sudo apt install -y php8.1-fpm php8.1-mysql php8.1-xml php8.1-curl \
  php8.1-gd php8.1-mbstring php8.1-opcache php8.1-zip php8.1-intl \
  php8.1-bcmath php8.1-soap php8.1-imagick

PHP-FPM'yi Etkinleştirin

sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
php -v

php.ini Optimizasyonu

sudo nano /etc/php/8.1/fpm/php.ini

Aşağıdaki değerleri bulup güncelleyin:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
memory_limit = 256M
date.timezone = Europe/Istanbul
expose_php = Off

Adım 5: Nginx Sanal Host Yapılandırması

sudo nano /etc/nginx/sites-available/mysite
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/mysite;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    client_max_body_size 64M;
    access_log /var/log/nginx/mysite_access.log;
    error_log /var/log/nginx/mysite_error.log;
}

Site Dizini Oluşturun ve Aktif Edin

sudo mkdir -p /var/www/mysite
sudo chown -R www-data:www-data /var/www/mysite
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Adım 6: PHP ve MySQL Bağlantı Testi

sudo nano /var/www/mysite/info.php
<?php phpinfo(); ?>

Tarayıcıdan http://example.com/info.php adresine gidin. PHP bilgilerini gördükten sonra bu dosyayı silin:

sudo rm /var/www/mysite/info.php

OPcache ile Performans Artırma

OPcache, PHP betiklerini derleme önbelleğine alarak işlem süresini önemli ölçüde kısaltır:

sudo nano /etc/php/8.1/fpm/conf.d/10-opcache.ini
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.save_comments=1

Sık Karşılaşılan Sorunlar ve Çözümleri

502 Bad Gateway Hatası

Bu hata PHP-FPM servisinin çalışmadığına ya da Nginx'in yanlış socket kullandığına işaret eder:

sudo systemctl status php8.1-fpm
sudo systemctl restart php8.1-fpm
sudo tail -50 /var/log/nginx/error.log

403 Forbidden Hatası

Dosya izinleri hatalıysa bu hatayla karşılaşırsınız:

sudo chown -R www-data:www-data /var/www/mysite
sudo find /var/www/mysite -type d -exec chmod 755 {} \;
sudo find /var/www/mysite -type f -exec chmod 644 {} \;

MySQL Bağlantı Hatası

sudo mysql -u root -p
-- Kullanıcı yetkilerini kontrol edin:
SHOW GRANTS FOR 'lemp_user'@'localhost';

Sonuç

Ubuntu 22.04 üzerinde LEMP Stack kurulumunu başarıyla tamamladınız. Nginx + MySQL 8.0 + PHP 8.1-FPM ile çalışan bu yapı üzerine WordPress, Laravel, Symfony gibi popüler PHP uygulamalarını hızlıca kurabilirsiniz. OPcache ve doğru PHP-FPM pool ayarlarıyla sunucunuzun performansını daha da artırabilirsiniz.

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.