Ubuntu 22.04 LEMP Kurulumu (Nginx, MySQL, PHP)
Bu rehberde ne öğreneceksiniz?
Bu rehberde Ubuntu sunucunuzu tam donanımlı bir web platformuna dönüştürmeyi öğreneceksiniz.
Nginx, MySQL ve PHP-FPM bileşenlerini birlikte kullanarak hızlı ve güvenli bir altyapı kuracağız.
Teknik Özet
Ana konu: Ubuntu üzerinde LEMP (Linux, Nginx, MySQL, PHP) kurulumu
Çözülen problem: PHP tabanlı web uygulamaları için uçtan uca sunucu altyapısı
Adımlar: Nginx → MySQL → PHP-FPM → Nginx yapılandırması → testler
Not: Ubuntu 24.04 kullanıyorsanız
php8.1-fpmyerinephp8.3-fpmkullanın.
Ön Gereksinimler
- Ubuntu 22.04 sunucu
- Root olmayan, sudo yetkili kullanıcı
- UFW güvenlik duvarı aktif
1️⃣ Nginx Web Sunucusu Kurulumu
sudo apt update
sudo apt install nginx
- Bu komutlar paket listesini günceller ve Nginx’i kurar.
1.1 Güvenlik Duvarı Ayarı
sudo ufw allow 'Nginx HTTP'
sudo ufw status
- Bu adım HTTP trafiğine izin verir.
1.2 Tarayıcıdan test edin:
http://SUNUCU_IP
2️⃣ MySQL Veritabanı Kurulumu
sudo apt install mysql-server
sudo mysql_secure_installation
- Bu adımlar MySQL’i kurar ve temel güvenliği sağlar.
Öneri: Root yerine uygulamalar için ayrı kullanıcı oluşturun.
3️⃣ PHP ve PHP-FPM Kurulumu
1. Nginx, PHP kodlarını doğrudan çalıştıramaz. Bu işi PHP-FPM üstlenir.
sudo apt install php8.1-fpm php-mysql
- Bu komut PHP işlemcisini ve MySQL desteğini kurar.
php -v
- Bu komut PHP sürümünü doğrular.
2. Nginx ve PHP-FPM Neden Birlikte Kullanılır?
-
Nginx, statik dosyaları çok hızlı sunar
-
PHP-FPM, PHP kodlarını güvenli ve izole şekilde işler
-
Bu yapı yüksek trafikte daha stabil çalışır
4️⃣ Nginx Server Block Oluşturma
sudo mkdir /var/www/rabisu.cloud
sudo chown -R $USER:$USER /var/www/rabisu.cloud
sudo nano /etc/nginx/sites-available/rabisu.cloud
- Bu adımlar site dizinini oluşturur ve yapılandırma dosyasını açar.
server {
listen 80;
server_name rabisu.cloud www.rabisu.cloud;
root /var/www/rabisu.cloud;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
- Bu yapılandırma PHP-FPM entegrasyonunu sağlar.
4.1 Siteyi Aktifleştirme
sudo ln -s /etc/nginx/sites-available/rabisu.cloud /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
5️⃣ PHP Çalışıyor mu Test Edelim
nano /var/www/rabisu.cloud/info.php
<?php
phpinfo();
Tarayıcıdan açın:
http://SUNUCU_IP/info.php
Testten sonra mutlaka silin:
sudo rm /var/www/rabisu.cloud/info.php
Sıkça Sorulan Sorular (SSS)
1. 502 Bad Gateway hatası neden olur? Genellikle PHP-FPM çalışmıyordur veya socket yolu yanlıştır.
sudo systemctl status php8.1-fpm
ls /run/php/
2. Bir sunucuda birden fazla site olur mu? Evet. Her domain için ayrı server block oluşturabilirsiniz.
3. PHP sürümünü nasıl güncellerim? Yeni sürümü kurup fastcgi_pass yolunu güncellemeniz yeterlidir.
Sonuç Artık tam fonksiyonel bir LEMP altyapınız var. Bu yapı WordPress, Laravel ve özel PHP projeleri için idealdir. 🔐 Bir sonraki adım olarak Let’s Encrypt SSL eklemeniz şiddetle önerilir. 🚀 Yüksek performanslı projeler için Rabisu Bulut üzerindeki optimize edilmiş Ubuntu sunucularını hemen deneyebilirsiniz.