NGINX ve Apache: WordPress için En İyi Web Sunucusu Nedir?

Yayınlanan: 2023-02-12

Bir WordPress web sitesini çalıştırmak için onu bir web sunucusunda barındırmanız gerekir. Web tarayıcılarının sitenizin verilerini istemesini sağlayan şey budur. Ancak, birini seçmeyi göz korkutucu bir görev haline getirebilecek birkaç web sunucusu seçeneği vardır.

Aralarından seçim yapabileceğiniz birçok web sunucusu olsa da, Apache ve NGINX en popüler seçeneklerdir. Ancak ikisinden hangisi en iyi web sunucusudur?

Bu iki web sunucusu, tüm web trafiğinin %50'sinden fazlasını yönetir. Pek çok niteliği paylaşsalar da, siteniz için doğru olanı seçmenize yardımcı olabilecek, bilmeniz gereken farklılıklar vardır. Bu yazıda NGINX ve Apache arasındaki farkları tartışacağız. Ardından, WordPress'i her iki sunucu türüne nasıl kurabileceğinize bakacağız. Başlayalım!

İçindekiler
1. Performans Karşılaştırması: NGINX ve Apache
1.1. Apaçi
1.2. NGINX
2. Apache ve NGINX Arasındaki Fark Nedir?
3. En İyi WordPress Web Sunucusu Yazılımı Nedir?
3.1. Apache'ye WordPress Nasıl Kurulur?
3.1.1. Adım 1: Sunucunuzda Sudo Kullanıcısı Oluşturun
3.1.2. Adım 2: Apache Web Sunucusunu Kurun
3.1.3. 3. Adım: MySQL Veritabanı Sunucusunu Kurun
3.1.4. Adım 4: PHP'yi Kurun
3.1.5. 5. Adım: Sanal Konakları Kurun
3.1.6. Adım 6: WordPress'i Kurun
3.2. NGINX'e WordPress Nasıl Kurulur?
3.2.1. 1. Adım: MySQL'i kurun
3.2.2. 2. Adım: Bir MySQL Veritabanı Oluşturun
3.2.3. 3. Adım: WordPress'i kurun
3.2.4. Adım 4: WordPress'i Yapılandırın
3.2.5. Adım 5: PHP'yi Kurun
3.2.6. Adım 6: NGINX Ünitesini Kurun
4. WP Engine ile Öğrenmeye Devam Edin

Performans Karşılaştırması: NGINX ve Apache

Daha önce de belirttiğimiz gibi NGINX ve Apache en öne çıkan web sunucusu seçenekleridir. Çeşitli iş yüklerinin üstesinden gelebilir ve LAMP ve LEMU yığınları oluşturmak için diğer yazılımlarla birlikte çalışabilirler. Ancak, bu web sunucularını doğru bir şekilde karşılaştırmak için nasıl farklı olduklarını anlamanız gerekir.

Apaçi

Apache, iki sunucudan daha eski olanıdır ve ilk olarak Apache Software Foundation tarafından 1995 yılında Robert McCool tarafından yayınlanmış ve geliştirilmiştir. 1996'dan beri Apache en iyi web sunucusu olmuştur ve web sitelerinin yaklaşık %38,7'si tarafından kullanılmaktadır. Şu anda, Apache Foundation, Apache için sürümler yayınlamaya devam ediyor.

Apache modülü, aşağıdakiler dahil bir dizi avantaj sağlar:

  • Ön kurulum seçenekleri: Apache, başlıca Linux dağıtımlarında önceden kurulu olarak gelir.
  • Kullanıcı topluluğu: Apache, birbirine yardım sunan geniş bir kullanıcı topluluğuna sahiptir.
  • Dinamik modül yükleme sistemi: Bu sistem, sunucuyu güncellerken ana pakete dokunmanızı engeller.
  • .htaccess'te URL yeniden yazar: Apache 2, temiz yeniden yazma işlemleri için mod_rewrite kullanır.
  • Modüler tasarım: Apache, modüler tasarımı sayesinde daha fazla özelleştirme ve esneklik sunar.
  • httpd.conf dosyasını kullanarak sunucu yapılandırması: Ana apache2.conf dosyasına erişmeniz gerekmediğinden yapılandırma kolaydır.
  • "Ağ geçidi" sunucusu olarak hareket edin: Apache ayrıca işlevi bir ters proxy sunucusu olarak da sunabilir.

Apache sunucusu, birçok özelleştirme özelliğine sahip, kullanıcı dostu bir web sunucusudur. Yazılım ayrıca Unix ve Windows sunucularıyla da uyumludur.

NGINX

NGINX, C10K problemini çözmek için NGINX Inc.'in kurucusu Igor Sysoev tarafından 2004 yılında piyasaya sürüldü. Bu, web sunucularının 10.000 veya daha fazla eşzamanlı bağlantı isteğini işlerken karşılaştıkları zorluktur.

Bunu çözmek için NGINX, eşzamansız, engellemeyen ve olay tabanlı bir mimari olarak geliştirildi. Bu, NGINX ve Apache arasındaki temel farklardan biridir. Ayrıca web sitelerinin yaklaşık %32,1'inin NGINX kullanmasının nedenlerinden biridir.

NGINX'in sağladığı başka birçok avantaj vardır, örneğin:

  • Hafif tasarım : NGINX minimum donanımla çalışabilir ve Apache'den daha az bellek kullanır.
  • Statik içerik işleme : NGINX, doğru şekilde yapılandırıldığında daha iyi statik içerik işleme sunar.
  • Ağır yük yanıtı : NGINX, yoğun trafik olduğunda yüksek düzeyde yanıt vermeye devam eder.
  • Kullanıcı dostu tasarım : Öğrenme eğrisi daha kolaydır ve NGINX yeni başlayanlar için uygundur.
  • Modüler kurulum : Bu sunucunun tasarımı, esnek yapılara ve bir dizi üçüncü taraf modüle izin verir.
  • Ters proxy: NGINX Plus, donanım tabanlı çözümlere benzer yeteneklere sahip yazılım tabanlı bir ters proxy'yi daha düşük bir maliyetle sunar.

NGINX ve NGINX Plus, daha ağır yüklerin üstesinden gelmek için yük dengeleme yetenekleri nedeniyle yüksek trafikli web siteleri için genellikle daha iyi seçenekler olarak görülür. Ayrıca, çok sayıda statik web içeriğine sahip sitelerde en yüksek performansı sürdürmek için idealdir.

Apache ve NGINX Arasındaki Fark Nedir?

NGINX ve Apache HTTP Sunucusu benzer olsa da, ikisi arasında birçok fark vardır. En büyük fark, bu web sunucularının birden çok istemci isteğini işleme biçimidir. Apache çatallı bir çözüm kullanırken, NGINX engellemeyen bir olay döngüsü kullanır.

Apache, istek işlemenin nasıl çalıştığını belirleyen Çoklu İşleme Modülleri (MPM'ler) sağlar. Çatallı yaklaşım, bağlantı işleme mimarisini değiştirmeyi kolaylaştırır. Bu yaklaşımda kullanılan modüller, Apache'nin temel işlevlerine yapılan eklemelerdir. Her Çoklu İşleme Modülü, sunucu isteklerini işlemek için farklı bir işlem başlatır.

Bir örnek , mpm-worker'dır - birden çok iş parçacığını işleyen süreçler oluşturan bir modül. Her iş parçacığı, sunucuya tek bir bağlantıdır. Bu modülün eklenmesi, sunucunun ölçeklendirilmesine olanak tanır ve büyük miktarda trafiğin yönetilmesini sağlar.

NGINX farklıdır ve yalnızca eşzamanlı istek işleme için çalışan işlemleri oluşturur. Bu işlemler, birden çok isteği sürekli olarak kontrol eden ve işleyen, engellemeyen olaylardır. Bu sürekli kontrol bir döngü oluşturur. Döngüdeki tüm olaylar eşzamansızdır ve bağlantı kapandığında döngüden kaldırılır.

En İyi WordPress Web Sunucusu Yazılımı Nedir?

Hem Apache hem de NGINX, WordPress barındırma ile iyi çalışır. Ancak, daha iyi performans istiyorsanız NGINX daha iyi bir seçenek olabilir. Her iki sunucu türüne de WordPress'i nasıl kuracağınıza bir göz atalım, böylece ikisinden birini kullanmaya başlamaya hazır olacaksınız.

Apache'ye WordPress Nasıl Kurulur?

Apache'ye WordPress kurmak için bir LAMP (Linux, Apache, MySQL ve PHP) yığını kurmanız gerekir. Bu genellikle bir Ubuntu sunucusunda yapılır.

Adım 1: Sunucunuzda Sudo Kullanıcısı Oluşturun

Bir kullanıcı oluşturmak için sunucunuzda kök kullanıcı olarak oturum açın. Ardından, yeni bir hesap oluşturmak için aşağıdaki kullanıcı ekle komutunu kullanın:

 $ adduser username

Sunucu sizden bir parola belirlemenizi ve onaylamanızı isteyecektir. Ardından, kullanıcı için ayrıntıları doldurun. Ardından, o kullanıcıya sudo erişimi sağlayabilirsiniz. Bu erişim, kullanıcının normalde kök kullanıcı tarafından tamamlanan komutları yürütmesine izin verir.

Kullanıcıyı bir sudo grubuna eklemek için aşağıdaki komutu girin:

 $ usermod -aG sudo username

Ardından, yükleme işleminin geri kalanı için sunucuda sudo kullanıcısı olarak oturum açmak isteyeceksiniz.

Adım 2: Apache Web Sunucusunu Kurun

Apache'yi kurmak için Ubuntu paket yöneticisi apt'yi kullanmanız gerekecek. Bu, Ubuntu sunucularında varsayılandır. Aşağıdaki sudo komutunu girmek, şifrenizi girdikten sonra kurulumu başlatır:

 $ sudo apt update $ sudo apt install apache2

Daha sonra kurulacak paketleri ve ne kadar disk alanı gerektiğini göreceksiniz. Yüklemeyi başlatmak için Y'ye ve ardından Enter'a basın.

3. Adım: MySQL Veritabanı Sunucusunu Kurun

Ardından, veritabanı yönetim sistemi MySQL'i kurmanız gerekecek. Paket yöneticisindeki aşağıdaki komut kurulumu başlatacaktır:

 $ sudo apt install mysql-server

Gerekli paketler ve disk alanı tekrar görüntülenecektir. Kurulumu başlatmak için Y tuşuna basın ve root şifresini ayarlayın.

Adım 4: PHP'yi Kurun

PHP, LAMP yığınınızın kodu dinamik içeriğe işleyen kısmıdır. Yüklemek için aşağıdaki komutu girmelisiniz:

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

PHP daha sonra sorunsuz bir şekilde kurulmalıdır. Yığın kurulumunu tamamlamak için sunucuyu yeniden başlatmanız gerekecek. Bunu yapmak için aşağıdaki komutu girin:

 $ sudo systemctl restart apache2

LAMP yığınınız artık kuruldu ve yapılandırıldı.

5. Adım: Sanal Konakları Kurun

Sanal ana bilgisayarlar, yapılandırma ayrıntılarını kapsar ve önerilen bir adımdır. Kapsülleme, bir sunucuda birden fazla web sitesi barındırmanıza izin verir.

Apache sunucuları varsayılan olarak birden fazla web sitesi için kullanışsız olan /var/www/html dizinlerine sahiptir. Bir sanal ana bilgisayar oluşturmak için, yeni web sitesinin etki alanı için /var/www'de bir dizin yapısı oluşturmanız gerekir.

Bu yapıyı oluşturmak için aşağıdaki komutu kullanın:

 sudo mkdir /var/www/new_domain

new_domain'i web sitenizin alan adı olarak değiştirin. Ardından, nano komutunu kullanarak örnek içeriğe sahip bir index.html dosyası oluşturun:

 $ nano /var/www/new_domain/index.html

Apache'nin içeriğinizi sunmasını sağlamak için ayrıca bir ana bilgisayar dosyası oluşturmanız gerekir. Aşağıdaki komut yapılandırma dosyasını oluşturur:

 $ sudo nano /etc/apache2/sites-available/your_domain.conf

Ardından aşağıdaki yapılandırma bloğunu ekleyin:

 <VirtualHost *:80> ServerAdmin [email protected] ServerName new_domain ServerAlias www.new_domain DocumentRoot /var/www/new_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Bir sonraki komut dosyayı etkinleştirirken, ikincisi sunucudaki varsayılan siteyi devre dışı bırakır:

 $ sudo a2ensite new_domain.conf $ sudo a2dissite 000-default.conf

Sanal ana makineniz şimdi yapılandırılmış ve çalışıyor olmalıdır. Bu yeni oluşturulan dizin, WordPress'i yüklemek için kullanılmalıdır.

Adım 6: WordPress'i Kurun

LAMP yığınınızı yapılandırdıktan sonra, WordPress'i kurabilirsiniz. WordPress'in en son sürümünü indirin ve aşağıdaki komutla kurun:

 $ sudo apt update $ sudo apt install wordpress php libapache2-mod-php mysql-server php-mysql

Ardından, WordPress için Apache'yi yapılandırın ve MySQL veritabanını oluşturun. Ardından, web sitesi yapılandırmasını tamamlamak için WordPress web tarayıcı arayüzünü kullanın. Bu, bir site başlığı oluşturmayı ve bir şifre belirlemeyi içerir.

NGINX'e WordPress Nasıl Kurulur?

NGINX'e WordPress yüklemek için, NGINX Unit'in desteklediği dağıtımlardan birini çalıştıran bir sunucuya ihtiyacınız vardır. Linux kullanıyorsanız, bir LEMU (Linux, NGINX, MySQL ve NGINX Unit) yığını oluşturacaksınız.

1. Adım: MySQL'i kurun

Başlamadan önce, sudo erişimi olan bir sunucu kullanıcısı oluşturun. Sunucunuzda kök kullanıcı olarak oturum açın ve yeni bir hesap oluşturmak için aşağıdaki komutu kullanın:

 $ adduser username

Kullanıcının ayrıntılarını doldurmadan önce bir parola girmeniz ve onaylamanız gerekir. Ardından, o kullanıcıya sudo erişimi sağlayabilirsiniz. Bu erişim, kullanıcının normalde kök kullanıcı tarafından tamamlanan komutları yürütmesini sağlar.

Kullanıcıyı bir sudo grubuna eklemek için aşağıdaki komutu girin:

 $ usermod -aG sudo username

Sunucuda sudo kullanıcısı olarak oturum açın ve MySQL'i yüklemek için aşağıdaki komutu kullanın:

 $ sudo apt-get install mysql-server

Yeni bir kök şifre girin. MySQL yapılandırma aracı daha sonra çalışabilir. Bu, kurulum sürecinde size yol gösteren bir yapılandırma sihirbazıdır.

2. Adım: Bir MySQL Veritabanı Oluşturun

MySQL hazır olduğunda, yeni bir veritabanı oluşturabilirsiniz. Ayrıca yönetim iznine sahip yeni bir kullanıcı oluşturmanız gerekir. Bunu yapmak için, MySQL kök hesabında oturum açın ve aşağıdaki komutları girin:

 $ sudo mysql -u root -p mysql> CREATE DATABASE wordpress; mysql> CREATE USER [email protected] IDENTIFIED BY 'secure_password'; mysql> GRANT ALL PRIVILEGES ON wordpress.* TO [email protected]; mysql> FLUSH PRIVILEGES; mysql> Exit Bye

Ayrıcalıkları Temizle komutu, MySQL'in yaptığınız değişiklikleri tanımasını sağlar. Tercihlerinize uyması için varsayılan kullanıcı adını ve şifreyi değiştirmelisiniz.

3. Adım: WordPress'i kurun

WordPress'i kurmadan önce, aşağıdaki komutu kullanarak geçici bir dosya konumu oluşturmalısınız:

 $ cd /var/www/ $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz

Bu komut ayrıca WordPress'i indirir ve açar.

Adım 4: WordPress'i Yapılandırın

Ardından, WordPress yapılandırma dosyasının bir kopyasını oluşturun ve aşağıdaki komutları kullanarak yeniden adlandırın:

 $ cd /var/www/wordpress $ sudo cp wp-config-sample.php wp-config.php

Güvenliği artırmak için dosyadaki SALT anahtarlarını güncelleyebilirsiniz. nano'yu kullanmak wp-config.php dosyasını açar ve SALT anahtarlarını aramanızı sağlar:

 $ sudo nano wp-config.php

Anahtarları yeni oluşturulanlarla değiştirin ve ardından kaydedip dosyadan çıkın.

Adım 5: PHP'yi Kurun

NGINX Unit'i kullanabilseniz de, yine de PHP'yi kurmalısınız. Bunu yapmak için aşağıdaki komutu kullanabilirsiniz:

 $ sudo apt-get install -y php7.0 php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt

Bu gereklidir çünkü WordPress, NGINX Unit'te bulunmayan çeşitli uzantılara dayanır.

Adım 6: NGINX Ünitesini Kurun

Son olarak, sunucunuzun işletim sistemi için önceden derlenmiş NGINX Unit'i kurmanız gerekecektir. PHP modülünü yüklemek için aşağıdaki komutu kullanın:

 $ sudo apt-get install unit-php $ sudo service unit restart $ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config $ curl http://localhost:8300/

Bu komutlar ayrıca NGINX Unit ve PHP'nin düzgün çalıştığını doğrular.

Ardından, NGINX Açık Kaynağı kurmanız ve yapılandırmanız gerekir. Önceden oluşturulmuş bir paketi ana hattan kurabilirsiniz. Bunlar en son özellikleri ve yamaları içerir. Bu yapılandırmadan sonra, WordPress kullanıma hazır olacaktır.

WP Engine ile Öğrenmeye Devam Edin

Apache ve NGINX, en popüler web sunucusu yazılım seçenekleridir. Ama NGINX ile Apache arasındaki savaşta hangisi galip gelir? Birçok yönden benzer olsalar da, NGINX sunucusu yüksek trafikli web siteleri için daha iyi performans sağlar. Ancak, Apache'nin daha fazla belgeye sahip daha büyük bir topluluğu vardır.

Elbette, olağanüstü bir web sitesi geliştirmek için birkaç şeye ihtiyacınız olacak. Bunlara doğru araçlar, en iyi kaynaklar ve birinci sınıf web barındırma dahildir!

WordPress optimizasyonu ve HTTP 400 Hatalarını anlama gibi SEO ve web ile ilgili daha fazla kaynak için, sitenizi geliştirmek üzere Kaynak Merkezimize göz atın.