
Web sunucuları, web sitelerini ve uygulamalarını barındırmak için kullanılan temel bileşenlerden biridir. En popüler iki web sunucusu Apache HTTP Server ve NGINX’tir. Bu makalede, Ubuntu üzerine Apache ve NGINX’in nasıl kurulacağını, yapılandırmalarını ve performans açısından nasıl karşılaştırıldıklarını ele alacağım.
Apache'yi başlatın ve sistemde otomatik başlamasını sağlayın:
Apache’nin çalışıp çalışmadığını kontrol etmek için:
Tarayıcınızdan aşağıdaki adresi ziyaret ederek Apache’nin çalıştığını doğrulayabilirsiniz:
Eğer uzak bir sunucudaysanız, sunucu IP adresinizi kullanın.
Bu ayarlar, daha iyi kaynak yönetimi sağlar ve Apache’nin yoğun trafik altında çökmesini önler.
Güvenlik duvarında (UFW) Apache için HTTP ve HTTPS trafiğini açalım:
NGINX'i başlatın ve sistemde otomatik başlamasını sağlayın:
NGINX’in çalışıp çalışmadığını kontrol etmek için:
Tarayıcınızdan aşağıdaki adresi ziyaret ederek NGINX’in çalıştığını doğrulayabilirsiniz:
Eğer uzak bir sunucudaysanız, sunucu IP adresinizi kullanın.
Bu ayarlar, daha iyi performans ve düşük gecikme süresi sağlar.
Güvenlik duvarında (UFW) NGINX için HTTP ve HTTPS trafiğini açalım:
Aşağıdaki satırları ekleyin:
NGINX yapılandırmasını yeniden yükleyin:
Böylece, Apache 8080 portunda çalışırken NGINX 80 portunda isteği karşılayıp Apache’ye yönlendirecektir.
NGINX ve Apache, farklı kullanım alanlarına sahip güçlü web sunucularıdır. Apache, .htaccess gibi esnek yapılandırma seçenekleri sunarken, NGINX yüksek eşzamanlılık ve düşük kaynak kullanımıyla ön plana çıkar. Ters proxy olarak birlikte kullanıldığında, performans açısından en iyi sonucu elde edebilirsiniz.
Eğer düşük kaynak tüketimi ve yüksek performans istiyorsanız NGINX, modüler yapı ve genişletilebilirlik istiyorsanız Apache sizin için daha iyi bir seçenek olabilir.
Her iki sunucuyu denedikten sonra projelerinize en uygun olanı seçebilirsiniz!
1. Apache ve NGINX Nedir?
Apache HTTP Server
- İlk sürüm: 1995
- Geliştirici: Apache Software Foundation
- Modüler mimari: Ekstra işlevsellik sağlayan modülleri destekler (mod_rewrite, mod_ssl, mod_proxy vb.).
- İşlem tabanlı (Process-driven) model: Her isteği ayrı bir işleme atayarak çalışır.
- .htaccess desteği: Kullanıcı bazlı yapılandırmalar sağlar.
- PHP ve diğer dinamik diller için dahili destek sunar.
NGINX
- İlk sürüm: 2004
- Geliştirici: Igor Sysoev
- Olay tabanlı (Event-driven) model: Yüksek eşzamanlılık sağlar.
- Daha az kaynak tüketimi: CPU ve RAM kullanımında Apache'ye kıyasla daha verimlidir.
- Ters proxy, yük dengeleme ve statik içerik sunma konusunda daha başarılıdır.
- Apache’den farklı olarak .htaccess desteği bulunmaz.
2. Apache Web Server Kurulumu (Ubuntu 22.04/20.04)
Apache'yi yüklemek için aşağıdaki komutları çalıştırın:
BASH
sudo apt update
sudo apt install apache2 -y
BASH
sudo systemctl start apache2
sudo systemctl enable apache2
BASH
sudo systemctl status apache2
PLAINTEXT
http://localhost
Apache Performans Ayarları
Varsayılan yapılandırmayı optimize etmek için/etc/apache2/apache2.conf
dosyasına aşağıdaki ayarları ekleyebilirsiniz:
BASH
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 2
MaxSpareServers 5
MaxRequestWorkers 150
MaxConnectionsPerChild 3000
</IfModule>
BASH
sudo ufw allow 'Apache Full'
3. NGINX Web Server Kurulumu (Ubuntu 22.04/20.04)
NGINX'i yüklemek için aşağıdaki komutları çalıştırın:
BASH
sudo apt update
sudo apt install nginx -y
BASH
sudo systemctl start nginx
sudo systemctl enable nginx
BASH
sudo systemctl status nginx
PLAINTEXT
http://localhost
NGINX Performans Ayarları
NGINX’in varsayılan ayarlarını optimize etmek için/etc/nginx/nginx.conf
dosyasını açın ve şu satırları ekleyin:
BASH
worker_processes auto;
worker_connections 1024;
keepalive_timeout 65;
gzip on;
BASH
sudo ufw allow 'Nginx Full'
4. Apache ve NGINX Karşılaştırması
Özellik | Apache | NGINX |
---|---|---|
Performans | İşlem tabanlı model, yüksek yükte yavaşlayabilir | Olay tabanlı model, yüksek eşzamanlılık |
Kullanım Alanı | Küçük ve orta ölçekli projelerde yaygın | Yüksek trafikli siteler, ters proxy |
Esneklik | Modüler yapı, .htaccess desteği | Daha az modüler, merkezi konfigürasyon |
Kaynak Kullanımı | Daha fazla RAM ve CPU kullanabilir | Daha düşük RAM ve CPU kullanımı |
Ters Proxy | Destekler, ancak genellikle önerilmez | Yüksek verimli ters proxy desteği |
5. Apache ve NGINX’i Birlikte Kullanmak
Apache ve NGINX’i birlikte kullanarak NGINX’i ters proxy olarak yapılandırabiliriz. Böylece, statik içerikler NGINX tarafından hızlı bir şekilde sunulurken, dinamik içerikler Apache tarafından işlenir. NGINX’i ters proxy olarak yapılandırmak için aşağıdaki adımları uygulayın:
BASH
sudo nano /etc/nginx/sites-available/default
NGINX
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
BASH
sudo systemctl restart nginx
Benzer Yazılar

Nginx ve Apache Güvenliği
0 Yorumlar

Linux’ta Güncelleme ve Yama Yönetimi
0 Yorumlar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!