NGINX vs Apache: jaki jest najlepszy serwer WWW dla WordPressa?

Opublikowany: 2023-02-12

Aby uruchomić witrynę WordPress, musisz hostować ją na serwerze WWW. Dzięki temu przeglądarki internetowe mogą żądać danych Twojej witryny. Istnieje jednak kilka opcji serwera WWW, przez co wybór jednej z nich może być trudnym zadaniem.

Chociaż istnieje wiele serwerów WWW do wyboru, najpopularniejszymi opcjami są Apache i NGINX. Ale który z tych dwóch jest najlepszym serwerem WWW?

Te dwa serwery WWW obsługują ponad 50% całego ruchu internetowego. Chociaż mają wiele wspólnych cech, istnieją różnice, o których warto wiedzieć, które pomogą Ci wybrać odpowiedni dla Twojej witryny. W tym artykule omówimy różnice między NGINX a Apache. Następnie przyjrzymy się, jak zainstalować WordPress na obu typach serwerów. Zacznijmy!

Spis treści
1. Porównanie wydajności: NGINX vs Apache
1.1. Apache
1.2. NGINX
2. Jaka jest różnica między Apache a NGINX?
3. Jakie jest najlepsze oprogramowanie serwera WWW WordPress?
3.1. Jak zainstalować WordPressa na Apache
3.1.1. Krok 1: Utwórz użytkownika Sudo na swoim serwerze
3.1.2. Krok 2: Zainstaluj serwer WWW Apache
3.1.3. Krok 3: Zainstaluj serwer bazy danych MySQL
3.1.4. Krok 4: Zainstaluj PHP
3.1.5. Krok 5: Skonfiguruj wirtualne hosty
3.1.6. Krok 6: Zainstaluj WordPressa
3.2. Jak zainstalować WordPressa na NGINX
3.2.1. Krok 1: Zainstaluj MySQL
3.2.2. Krok 2: Utwórz bazę danych MySQL
3.2.3. Krok 3: Zainstaluj WordPressa
3.2.4. Krok 4: Skonfiguruj WordPressa
3.2.5. Krok 5: Zainstaluj PHP
3.2.6. Krok 6: Zainstaluj jednostkę NGINX
4. Kontynuuj naukę z WP Engine

Porównanie wydajności: NGINX vs Apache

Jak wspomnieliśmy wcześniej, NGINX i Apache to najbardziej znane opcje serwera WWW. Mogą obsługiwać różnorodne obciążenia i współpracować z innym oprogramowaniem, tworząc stosy LAMP i LEMU. Aby jednak dokładnie porównać te serwery internetowe, musisz zrozumieć, czym się różnią.

Apache

Apache jest starszym z dwóch serwerów i został po raz pierwszy wydany i opracowany przez Apache Software Foundation w 1995 roku przez Roberta McCoola. Od 1996 roku Apache jest najlepszym serwerem WWW i jest używany przez około 38,7% stron internetowych. Obecnie Apache Foundation kontynuuje wydawanie wersji dla Apache.

Moduł Apache zapewnia szereg korzyści, w tym:

  • Opcje preinstalacji: Apache jest preinstalowany w głównych dystrybucjach Linuksa.
  • Społeczność użytkowników: Apache ma dużą społeczność użytkowników, którzy oferują sobie nawzajem pomoc.
  • Dynamiczny system ładowania modułów: Ten system uniemożliwia dotykanie głównego pakietu podczas aktualizacji serwera.
  • Przepisywanie adresów URL w .htaccess : Apache 2 używa mod_rewrite do czystego przepisywania.
  • Modułowa konstrukcja: Apache oferuje większą personalizację i elastyczność dzięki modułowej konstrukcji.
  • Konfiguracja serwera przy użyciu pliku httpd.conf : Konfiguracja jest łatwa, ponieważ nie ma potrzeby uzyskiwania dostępu do głównego pliku apache2.conf .
  • Działaj jako serwer „bramy”: Apache może również pełnić funkcję odwrotnego serwera proxy.

Serwer Apache to przyjazny dla użytkownika serwer WWW z wieloma funkcjami dostosowywania. Oprogramowanie jest również kompatybilne z serwerami Unix i Windows.

NGINX

NGINX został wydany w 2004 roku przez Igora Sysoeva, założonego przez NGINX Inc., w celu rozwiązania problemu C10K. Jest to wyzwanie, przed którym stoją serwery sieciowe, obsługujące 10 000 lub więcej jednoczesnych żądań połączeń.

Aby rozwiązać ten problem, NGINX został opracowany jako architektura asynchroniczna, nieblokująca i oparta na zdarzeniach. Jest to jedna z podstawowych różnic między NGINX a Apache. Jest to również jeden z powodów, dla których około 32,1% serwisów korzysta z NGINX.

Istnieje wiele innych korzyści, które zapewnia NGINX, takich jak:

  • Lekka konstrukcja : NGINX może działać na minimalnym sprzęcie i zużywa mniej pamięci niż Apache.
  • Obsługa treści statycznych : NGINX oferuje lepszą obsługę treści statycznych, jeśli jest poprawnie skonfigurowany.
  • Responsywność przy dużym obciążeniu : NGINX pozostaje wysoce responsywny, gdy występuje duży ruch.
  • Przyjazny dla użytkownika projekt : Krzywa uczenia się jest łatwiejsza, a NGINX jest przyjazny dla początkujących.
  • Konfiguracja modułowa : Konstrukcja tego serwera pozwala na elastyczne kompilacje i szereg modułów innych firm.
  • Odwrotne proxy: NGINX Plus oferuje oparte na oprogramowaniu odwrotne proxy o podobnych możliwościach do rozwiązań sprzętowych po niższych kosztach.

NGINX i NGINX Plus są często postrzegane jako lepsze opcje dla witryn o dużym natężeniu ruchu ze względu na możliwości równoważenia obciążenia w celu obsługi większych obciążeń. Jest również idealny do utrzymywania najwyższej wydajności w witrynach z dużą ilością statycznej zawartości internetowej.

Jaka jest różnica między Apache a NGINX?

Chociaż NGINX i Apache HTTP Server są podobne, istnieje wiele różnic między nimi. Największą różnicą jest sposób, w jaki te serwery sieciowe obsługują wiele żądań klientów. Apache używa rozwidlonego rozwiązania, podczas gdy NGINX używa nieblokującej pętli zdarzeń.

Apache udostępnia moduły przetwarzania wieloprocesowego (MPM), które określają sposób obsługi żądań. Rozwidlone podejście ułatwia wymianę architektury obsługi połączeń. Moduły używane w tym podejściu są dodatkami do podstawowej funkcjonalności Apache. Każdy moduł przetwarzania wieloprocesowego uruchamia inny proces obsługi żądań serwera.

Jednym z przykładów jest mpm-worker – moduł tworzący procesy obsługujące wiele wątków. Każdy wątek to pojedyncze połączenie z serwerem. Dodanie tego modułu pozwala na skalowanie serwera i umożliwia zarządzanie dużymi ilościami ruchu.

NGINX jest inny i tworzy tylko procesy robocze do jednoczesnej obsługi żądań. Te procesy są zdarzeniami nieblokującymi, które stale sprawdzają i przetwarzają wiele żądań. To ciągłe sprawdzanie tworzy pętlę. Wszystkie zdarzenia w pętli są asynchroniczne i są usuwane z pętli po zamknięciu połączenia.

Jakie jest najlepsze oprogramowanie serwera WWW WordPress?

Zarówno Apache, jak i NGINX dobrze współpracują z hostingiem WordPress. Jednak NGINX może być lepszą opcją, jeśli chcesz poprawić wydajność. Przyjrzyjmy się, jak zainstalować WordPress na obu typach serwerów, abyś był gotowy do rozpoczęcia pracy z jednym z nich.

Jak zainstalować WordPressa na Apache

Aby zainstalować WordPress na Apache, musisz skonfigurować stos LAMP (Linux, Apache, MySQL i PHP). Zwykle odbywa się to na serwerze Ubuntu.

Krok 1: Utwórz użytkownika Sudo na swoim serwerze

Aby utworzyć użytkownika, zaloguj się na serwerze jako użytkownik root. Następnie użyj poniższego polecenia dodawania użytkownika, aby utworzyć nowe konto:

 $ adduser username

Serwer poprosi o ustawienie i potwierdzenie hasła. Następnie uzupełnij dane użytkownika. Następnie możesz zapewnić dostęp sudo temu użytkownikowi. Ten dostęp umożliwia użytkownikowi wykonywanie poleceń, które normalnie są wykonywane przez użytkownika root.

Aby dodać użytkownika do grupy sudo , wpisz następującą komendę:

 $ usermod -aG sudo username

Następnie będziesz chciał zalogować się na serwerze jako użytkownik sudo do końca procesu instalacji.

Krok 2: Zainstaluj serwer WWW Apache

Aby zainstalować Apache, musisz użyć menedżera pakietów Ubuntu apt . Jest to ustawienie domyślne na serwerach Ubuntu. Wprowadzenie następującego polecenia sudo rozpoczyna instalację po wprowadzeniu hasła:

 $ sudo apt update $ sudo apt install apache2

Następnie zobaczysz pakiety, które zostaną zainstalowane, oraz ilość wymaganego miejsca na dysku. Naciśnij Y , a następnie Enter, aby rozpocząć instalację.

Krok 3: Zainstaluj serwer bazy danych MySQL

Następnie musisz zainstalować system zarządzania bazą danych MySQL. Następujące polecenie w menedżerze pakietów rozpocznie instalację:

 $ sudo apt install mysql-server

Wymagane pakiety i miejsce na dysku zostaną ponownie wyświetlone. Aby rozpocząć instalację, naciśnij Y i ustaw hasło roota.

Krok 4: Zainstaluj PHP

PHP to część stosu LAMP, która przetwarza kod na zawartość dynamiczną. Aby go zainstalować, należy wprowadzić następujące polecenie:

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

PHP powinno wtedy zainstalować się bez żadnych problemów. Aby zakończyć instalację stosu, musisz ponownie uruchomić serwer. Aby to zrobić, wprowadź następujące polecenie:

 $ sudo systemctl restart apache2

Twój stos LAMP jest teraz zainstalowany i skonfigurowany.

Krok 5: Skonfiguruj wirtualne hosty

Hosty wirtualne hermetyzują szczegóły konfiguracji i są zalecanym krokiem. Hermetyzacja umożliwia hostowanie więcej niż jednej witryny na serwerze.

Serwery Apache domyślnie mają katalogi /var/www/html , które są nieporęczne dla wielu stron internetowych. Aby utworzyć wirtualnego hosta, musisz skonfigurować strukturę katalogów w /var/www dla domeny nowej witryny.

Użyj następującego polecenia, aby utworzyć tę strukturę:

 sudo mkdir /var/www/new_domain

Zmień new_domain na domenę swojej witryny. Następnie utwórz plik index.html z przykładową zawartością za pomocą polecenia nano :

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

Aby upewnić się, że Apache obsługuje Twoje treści, musisz także utworzyć plik hosta. Następujące polecenie tworzy plik konfiguracyjny:

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

Następnie dodaj następujący blok konfiguracyjny:

 <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>

Następne polecenie włącza plik, a drugie wyłącza domyślną witrynę na serwerze:

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

Twój wirtualny host powinien być teraz skonfigurowany i działać. Ten nowo utworzony katalog powinien być używany do instalacji WordPressa.

Krok 6: Zainstaluj WordPressa

Po skonfigurowaniu stosu LAMP możesz zainstalować WordPress. Pobierz najnowszą wersję WordPressa i zainstaluj ją za pomocą następującego polecenia:

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

Następnie skonfiguruj Apache dla WordPress i utwórz bazę danych MySQL. Następnie użyj interfejsu przeglądarki internetowej WordPress, aby zakończyć konfigurację witryny. Obejmuje to utworzenie tytułu witryny i ustawienie hasła.

Jak zainstalować WordPressa na NGINX

Aby zainstalować WordPress na NGINX, potrzebujesz serwera z jedną z dystrybucji obsługiwanych przez NGINX Unit. Jeśli używasz Linuksa, będziesz tworzyć stos LEMU (Linux, NGINX, MySQL i NGINX Unit).

Krok 1: Zainstaluj MySQL

Przed rozpoczęciem utwórz użytkownika serwera z dostępem sudo . Zaloguj się na swój serwer jako użytkownik root i użyj następującego polecenia, aby utworzyć nowe konto:

 $ adduser username

Przed wypełnieniem danych użytkownika musisz wprowadzić i potwierdzić hasło. Następnie możesz zapewnić dostęp sudo temu użytkownikowi. Ten dostęp umożliwia użytkownikowi wykonywanie poleceń, które normalnie są wykonywane przez użytkownika root.

Aby dodać użytkownika do grupy sudo , wpisz następującą komendę:

 $ usermod -aG sudo username

Zaloguj się na serwerze jako użytkownik sudo i użyj następującego polecenia, aby zainstalować MySQL:

 $ sudo apt-get install mysql-server

Wprowadź nowe hasło roota. Następnie można uruchomić narzędzie konfiguracyjne MySQL. Jest to kreator konfiguracji, który przeprowadzi Cię przez proces instalacji.

Krok 2: Utwórz bazę danych MySQL

Gdy MySQL jest gotowy, możesz utworzyć nową bazę danych. Musisz także utworzyć nowego użytkownika z uprawnieniami do zarządzania. Aby to zrobić, zaloguj się na konto root MySQL i wprowadź następujące polecenia:

 $ 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

Polecenie Flush Privileges zapewnia, że ​​MySQL rozpoznaje wprowadzone zmiany. Powinieneś zmienić domyślną nazwę użytkownika i hasło, aby dopasować je do swoich preferencji.

Krok 3: Zainstaluj WordPressa

Przed zainstalowaniem WordPressa powinieneś utworzyć tymczasową lokalizację pliku za pomocą następującego polecenia:

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

To polecenie również pobiera i rozpakowuje WordPress.

Krok 4: Skonfiguruj WordPressa

Następnie utwórz kopię pliku konfiguracyjnego WordPress i zmień jego nazwę za pomocą następujących poleceń:

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

Możesz zaktualizować klucze SALT w pliku, aby poprawić bezpieczeństwo. Użycie nano otwiera plik wp-config.php i umożliwia wyszukiwanie kluczy SALT:

 $ sudo nano wp-config.php

Zastąp klucze nowo wygenerowanymi, a następnie zapisz i zamknij plik.

Krok 5: Zainstaluj PHP

Chociaż możesz używać NGINX Unit, nadal powinieneś zainstalować PHP. Aby to zrobić, możesz użyć następującego polecenia:

 $ 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

Jest to konieczne, ponieważ WordPress opiera się na kilku rozszerzeniach, które nie są zawarte w jednostce NGINX.

Krok 6: Zainstaluj jednostkę NGINX

Na koniec musisz zainstalować wstępnie skompilowaną jednostkę NGINX dla systemu operacyjnego serwera. Użyj następującego polecenia, aby zainstalować moduł dla PHP:

 $ 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/

Polecenia te sprawdzają również, czy jednostka Nginx i PHP działają poprawnie.

Następnie musisz zainstalować i skonfigurować NGINX Open Source. Możesz zainstalować gotowy pakiet z głównej gałęzi. Obejmują one najnowsze funkcje i poprawki. Po tej konfiguracji WordPress będzie gotowy do użycia.

Kontynuuj naukę z silnikiem WP

Apache i NGINX to najpopularniejsze opcje oprogramowania serwera WWW. Ale w bitwie między NGINX a Apache, który z nich wychodzi na wierzch? Chociaż są one podobne pod wieloma względami, serwer NGINX zapewnia lepszą wydajność w przypadku witryn o dużym natężeniu ruchu. Jednak Apache ma większą społeczność z większą ilością dokumentacji.

Oczywiście będziesz potrzebować kilku rzeczy, aby stworzyć znakomitą stronę internetową. Obejmują one odpowiednie narzędzia, najlepsze zasoby i najwyższej klasy hosting!

Aby uzyskać więcej zasobów SEO i związanych z Internetem, takich jak optymalizacja WordPress i zrozumienie błędów HTTP 400, sprawdź nasze Centrum zasobów, aby ulepszyć swoją witrynę.