LAMP ve LEMP Stack Nedir? Linux Web Sunucusu Kurulumu ve Karşılaştırması

E-posta Hosting Kampanya

Web sunucuları, modern internetin temel taşlarından biridir ve çeşitli yazılım bileşenlerinden oluşan “stack” yapıları ile çalışırlar. LAMP ve LEMP, Linux tabanlı en popüler web sunucu stack’lerinden ikisidir. Bu teknolojiler, web uygulamalarını barındırmak ve yönetmek için gerekli olan bileşenleri bir araya getirir.

Bu makalede LAMP ve LEMP stack’lerinin ne olduğu, nasıl çalıştıkları, kurulum adımları ve aralarındaki temel farklar ele alınacaktır.

LAMP ve LEMP Stack Nedir

LAMP ve LEMP stack, Linux işletim sistemi üzerinde çalışan açık kaynaklı web sunucu ortamlarını ifade eder.

  • LAMP (Linux, Apache, MySQL, PHP)
    • Linux: İşletim sistemi olarak kullanılır.
    • Apache: Web sunucusu görevi görür.
    • MySQL: Veritabanı yönetim sistemidir.
    • PHP: Sunucu tarafında çalışan programlama dilidir.
  • LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl)
    • Linux: İşletim sistemidir.
    • Nginx: Web sunucusudur. Apache’ye göre daha yüksek performans sunar.
    • MySQL veya MariaDB: Veritabanı yönetim sistemi olarak kullanılır.
    • PHP, Python veya Perl: Sunucu tarafında çalışan programlama dilleri kullanılabilir.

Her iki yapı da benzer bileşenlere sahiptir, ancak en büyük fark web sunucusu bileşenidir. LAMP, Apache’yi kullanırken, LEMP Nginx’i kullanır.

LAMP Stack Kurulumu

LAMP kurulumu, Linux terminalinde aşağıdaki adımlar izlenerek gerçekleştirilir.

1. Apache Web Sunucusunu Kurma

Ubuntu veya Debian tabanlı bir sistemde Apache’yi yüklemek için:

sudo apt update
sudo apt install apache2 -y

Kurulum tamamlandıktan sonra Apache’yi başlatın ve sistem başlangıcına ekleyin:

sudo systemctl start apache2
sudo systemctl enable apache2

Tarayıcıda http://sunucu-ip-adresi adresini ziyaret ederek Apache’nin çalıştığını doğrulayabilirsiniz.

2. MySQL Veritabanını Kurma

sudo apt install mysql-server -y

MySQL güvenlik yapılandırmasını başlatın:

sudo mysql_secure_installation

Burada root şifresi belirleyebilir ve gereksiz varsayılan hesapları kaldırabilirsiniz.

3. PHP Kurulumu

Apache ile PHP’yi çalıştırmak için:

sudo apt install php libapache2-mod-php php-mysql -y

PHP sürümünü kontrol etmek için:

php -v

Sunucunun PHP dosyalarını işleyip işlemediğini görmek için /var/www/html/ dizinine info.php adında bir dosya oluşturun ve içine şu satırları ekleyin:

<?php
phpinfo();
?>

Tarayıcıda http://sunucu-ip-adresi/info.php adresini ziyaret ederek PHP’nin çalıştığını doğrulayabilirsiniz.

LEMP Stack Kurulumu

LEMP kurulumu, LAMP’e benzer ancak Apache yerine Nginx kullanılır.

1. Nginx Web Sunucusunu Kurma

sudo apt update
sudo apt install nginx -y

Nginx’i başlatın ve sistem başlangıcına ekleyin:

sudo systemctl start nginx
sudo systemctl enable nginx

Tarayıcıda http://sunucu-ip-adresi adresine giderek Nginx’in çalıştığını doğrulayabilirsiniz.

2. MySQL veya MariaDB Kurulumu

sudo apt install mysql-server -y

MariaDB kullanmak isterseniz:

sudo apt install mariadb-server -y

Güvenlik yapılandırmasını başlatın:

sudo mysql_secure_installation

Veritabanı bağlantısını test etmek için MySQL’e giriş yapın:

sudo mysql -u root -p

3. PHP-FPM Kurulumu

Nginx, PHP-FPM (FastCGI Process Manager) kullanır:

sudo apt install php-fpm php-mysql -y

Nginx’in PHP-FPM ile çalışabilmesi için /etc/nginx/sites-available/default dosyasını düzenleyerek PHP-FPM desteğini etkinleştirin.

LAMP ve LEMP Karşılaştırması

ÖzellikLAMP (Apache)LEMP (Nginx)
Web SunucusuApacheNginx
PerformansDinamik içerik için iyidirStatik içerik için daha hızlıdır
Trafik YönetimiYoğun trafikte daha fazla kaynak tüketirDaha az kaynak kullanır
Yapılandırma.htaccess desteği sunar.htaccess kullanmaz, doğrudan yapılandırma dosyalarını kullanır
VeritabanıMySQL/MariaDBMySQL/MariaDB
Programlama DiliPHP, Perl, PythonPHP, Perl, Python

Hangi Stack Kullanılmalı

  • LAMP, küçük ve orta ölçekli web projeleri için uygundur. Apache’nin esnekliği ve geniş modül desteği nedeniyle birçok uygulama için tercih edilir.
  • LEMP, yüksek trafikli web siteleri, CDN hizmetleri ve ters proxy (reverse proxy) gerektiren projelerde daha iyi performans sunar.

Eğer bir WordPress veya Joomla gibi CMS kullanıyorsanız LAMP yeterli olabilir. Ancak yoğun trafik alan bir web sitesi veya API sunucusu çalıştırıyorsanız LEMP daha iyi bir seçim olacaktır.

Sonuç

LAMP ve LEMP, Linux üzerinde web sunucusu çalıştırmak için en yaygın kullanılan çözümlerden ikisidir. LAMP, geleneksel ve esnek bir yapı sunarken, LEMP daha hafif ve hızlı bir alternatif olarak öne çıkar. İhtiyacınıza bağlı olarak uygun stack’i seçerek verimli bir web sunucu ortamı oluşturabilirsiniz.