LEMP Stack Nedir?
LEMP, bir web uygulaması için yaygın bir sunucu yığını anlamına gelen bir akronimdir. Her harf, yığının bir bileşenini temsil eder:
- L: Linux işletim sistemini,
- E: Nginx web sunucusunu (Nginx’in telaffuzu “Engine X” olduğundan ‘E’ ile temsil edilir),
- M: MySQL veritabanını,
- P: PHP programlama dilini.
Birlikte, bu dört bileşen, dinamik web siteleri ve uygulamaları çalıştırmak için gereken tüm altyapıyı sağlar.
Ubuntu Üzerine LEMP Stack Kurulumu
1. Sistem Güncelleme
İlk olarak, sistemimizi güncellemeli ve gerekli paketleri yüklemeliyiz. Terminali açın ve aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade
2. Nginx Kurulumu
Nginx web sunucusunu yüklemek için aşağıdaki komutu kullanın:
sudo apt install nginx
Kurulum tamamlandığında, aşağıdaki komut ile Nginx’in çalışıp çalışmadığını kontrol edebiliriz:
sudo systemctl status nginx
3. MySQL Kurulumu
MySQL veritabanını yüklemek için aşağıdaki komutu kullanın:
sudo apt install mysql-server
Kurulum tamamlandıktan sonra, MySQL’in güvenli kurulumunu çalıştırarak bazı temel güvenlik önlemlerini alabiliriz:
sudo mysql_secure_installation
4. PHP Kurulumu
PHP’yi yüklemek için aşağıdaki komutu kullanın:
sudo apt install php-fpm php-mysql
Bu komut, PHP’yi ve Nginx ile PHP’yi entegre etmek için gereken php-fpm
ve php-mysql
paketlerini yükler.
LEMP Stack Kullanımı
LEMP Stack’i kullanmak için, bir PHP uygulamasını veya web sitesini barındırmak için bir Nginx sunucusu yapılandırmanız gerekir.
- İlk olarak, Nginx için bir sunucu bloğu dosyası oluşturun. Bu,
/etc/nginx/sites-available/
dizininde yapılabilir. Örneğin:
sudo nano /etc/nginx/sites-available/mywebsite
- Ardından, bu dosyaya aşağıdaki yapılandırmayı ekleyin:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name mywebsite.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Dosyayı kaydedin ve kapatın. Ardından, oluşturduğunuz sunucu bloğunu etkinleştirin:
sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
- Sonra, Nginx yapılandırmasını kontrol edin ve yeniden başlatın:
sudo nginx -t
sudo systemctl restart nginx
Son olarak, /var/www/html
dizinine bir PHP dosyası ekleyin ve Nginx’in PHP dosyalarını doğru bir şekilde işleyip işlemediğini kontrol edin.
LEMP stack kurulumu ve kullanımı bu kadar basittir. Bu altyapı, çeşitli web uygulamalarını barındırmak ve çalıştırmak için esnek ve güçlü bir çözümdür. Her zaman en son güvenlik yamaları ve güncellemelerle bileşenlerinizi güncel tutmayı unutmayın.
LEMP Stack Bileşenlerinin Detaylı Tanımları
Linux
Linux, serbest ve açık kaynaklı bir işletim sistemidir. LEMP yığınının temelini oluşturur ve diğer üç bileşeni çalıştırır. Birçok farklı Linux dağıtımı vardır, ancak bu yazıda Ubuntu’yu kullanacağız çünkü popüler, kullanıcı dostu ve iyi belgelendirilmiştir.
Nginx
Nginx (Engine-X olarak okunur), hızlı ve güvenilir bir web sunucusudur. Apache’ye bir alternatif olarak tasarlandı ve daha az kaynak kullanırken yüksek eşzamanlı bağlantıları yönetebilir.
MySQL
MySQL, en popüler açık kaynaklı ilişkisel veritabanı yönetim sistemlerinden (RDBMS) biridir. Verileri düzenlenmiş tablolar halinde saklar ve SQL (Structured Query Language) kullanarak veriler üzerinde sorgulamalar yapabilir.
PHP
PHP, web tabanlı yazılım geliştirmek için kullanılan yaygın bir sunucu tarafı programlama dilidir. HTML içine gömülebilir ve MySQL gibi veritabanları ile etkileşim kurabilir.
LEMP Stack Güvenlik Uygulamaları
LEMP Stack’in güvenliği, sistem yöneticilerinin önem vermesi gereken bir konudur. İşte bazı genel güvenlik ipuçları ve en iyi uygulamalar:
- Daima en son sürümleri kullanın ve düzenli olarak güncellemeleri ve güvenlik yamalarını kontrol edin.
- Güçlü parolalar kullanın ve parolaları düzenli olarak değiştirin.
- Nginx ve MySQL için gereksiz modülleri ve özellikleri devre dışı bırakın.
- PHP’yi yapılandırırken display_errors, allow_url_fopen ve allow_url_include gibi potansiyel güvenlik risklerine yol açabilecek özellikleri devre dışı bırakın.
Nginx Sunucu Blokları ve Site Yapılandırması
LEMP stack’i kullanırken, genellikle birden fazla siteyi aynı sunucuda barındırmanız gerekebilir. Nginx, “sunucu blokları” adı verilen bir özellik ile bu işlemi kolaylaştırır. Apache’deki “virtual hosts” konseptine benzer şekilde, Nginx sunucu blokları, belirli bir alan adına gelen talepleri yönetmek için özel yapılandırmalar sağlar.
Nginx ve PHP-FPM
PHP-FPM (FastCGI Process Manager), özellikle yüksek trafikli siteler için uygundur. PHP-FPM, PHP işlemlerini çocuk işlemler olarak yönetir. Bu, Nginx’in PHP dosyalarını daha hızlı ve etkin bir şekilde işlemesini sağlar.
LEMP stack kullanımı, web uygulamaları barındırma ve çalıştırma konusunda esnek ve güçlü bir çözüm sunar. En son güvenlik yamaları ve güncellemelerle bileşenlerinizi güncel tutmayı unutmayın. Bu altyapı, çeşitli web uygulamalarını barındırmak ve çalıştırmak için geniş seçenekler sunar. Bununla birlikte, her bileşenin en etkili şekilde kullanılması için zaman ve pratik gerektirir.
Sonuç
LEMP stack’i başarıyla kurduğunuzda, bir web uygulamasını veya dinamik bir web sitesini barındırmak için gereken tüm altyapıyı oluşturmuş olursunuz. Bu öğretici, LEMP stack’inin ne olduğunu, bileşenlerini ve Ubuntu üzerine nasıl kurulacağını ve kullanılacağını anlatmaktadır. Sıradaki adımlarınız, bu yeni altyapıyı kullanarak kendi web uygulamanızı oluşturmak veya mevcut bir uygulamayı dağıtmak olabilir. Bununla birlikte, her zaman için güvenlik en önemli husus olmalıdır, bu yüzden LEMP stack üzerinde çalışırken her zaman güvenliği göz önünde bulundurun.
Web hosting ihtiyaçlarınız için Narweb web hosting paketlerine göz atabilirsiniz: Linux Hosting | Uygun Fiyat ve Yüksek Hızlı Enterprise SSD Hosting | Narweb
Sunucu ihtiyaçlarınız için Narweb VDS paketlerimize göz atabilirsiniz: VDS Sunucu | Enterprise SSD Dedicated Sanal Sunucu Yüksek Performans | Narweb
Ayrıca sitemizde daha önce yayınladığımız bu yazılar da dikkatinizi çekebilir:
Node.js Nedir, Ubuntu Üzerine Nasıl Kurulur Ve Kullanılır? | Narweb.net Blog
En Kolay Şekilde OpenVPN Kurulumu Ve Kullanımı | Narweb.net Blog
Ubuntu 20.04 Sunucu Kurulduktan Sonra Ilk Yapılması Gerekenler | Narweb.net Blog
Ubuntu 20.04 üzerine Plesk Hosting Kontrol Paneli Kurulumu Nasıl Yapılır? | Narweb.net Blog
En Çok Kullanılan 20 Linux Komutu Ve örnekleri | Narweb.net Blog
Ubuntu 20.04’te SSH Keys (Anahtarları) Nasıl Oluşturulur Ve Kullanılır? | Narweb.net Blog
SSH Temelleri: SSH Sunucuları, İstemcileri Ve Anahtarlarla Çalışma | Narweb.net Blog
Ubuntu şifre Sıfırlama Nasıl Yapılır? (2 Farklı Metot: Recovery Mode Ve Ubuntu CD Ile Başlatarak) | Narweb.net Blog