NGINX против Apache: какой веб-сервер лучше для WordPress?

Опубликовано: 2023-02-12

Чтобы запустить веб-сайт WordPress, вам необходимо разместить его на веб-сервере. Это то, что позволяет веб-браузерам запрашивать данные вашего сайта. Тем не менее, есть несколько вариантов веб-сервера, выбор которых может усложнить задачу.

Хотя существует множество веб-серверов на выбор, Apache и NGINX являются наиболее популярными вариантами. Но какой из двух веб-серверов лучший?

Эти два веб-сервера обрабатывают более 50% всего веб-трафика. Несмотря на то, что они имеют много общих качеств, вам нужно знать о различиях, которые помогут вам выбрать правильный вариант для вашего сайта. В этой статье мы обсудим различия между NGINX и Apache. Затем мы рассмотрим, как вы можете установить WordPress на обоих типах серверов. Давайте начнем!

Оглавление
1. Сравнение производительности: NGINX и Apache
1.1. Апачи
1.2. Nginx
2. В чем разница между Apache и NGINX?
3. Какое лучшее программное обеспечение для веб-сервера WordPress?
3.1. Как установить WordPress на Apache
3.1.1. Шаг 1. Создайте пользователя Sudo на своем сервере
3.1.2. Шаг 2: Установите веб-сервер Apache
3.1.3. Шаг 3: Установите сервер базы данных MySQL
3.1.4. Шаг 4: Установите PHP
3.1.5. Шаг 5: Настройте виртуальные хосты
3.1.6. Шаг 6: Установите WordPress
3.2. Как установить WordPress на NGINX
3.2.1. Шаг 1: Установите MySQL
3.2.2. Шаг 2: Создайте базу данных MySQL
3.2.3. Шаг 3: Установите WordPress
3.2.4. Шаг 4: Настройте WordPress
3.2.5. Шаг 5: Установите PHP
3.2.6. Шаг 6: Установите модуль NGINX
4. Продолжайте учиться с движком WP

Сравнение производительности: NGINX и Apache

Как мы упоминали ранее, NGINX и Apache являются наиболее известными вариантами веб-серверов. Они могут справляться с разнообразными рабочими нагрузками и работать с другим программным обеспечением для формирования стеков LAMP и LEMU. Однако для точного сравнения этих веб-серверов вам необходимо понять, чем они отличаются.

Апачи

Apache является старшим из двух серверов и был впервые выпущен и разработан Apache Software Foundation в 1995 году Робертом Маккулом. С 1996 года Apache является ведущим веб-сервером и используется примерно на 38,7% веб-сайтов. В настоящее время Apache Foundation продолжает выпускать версии для Apache.

Модуль Apache предоставляет ряд преимуществ, в том числе:

  • Варианты предустановки: Apache предустановлен в основных дистрибутивах Linux.
  • Сообщество пользователей: Apache имеет большое сообщество пользователей, предлагающих помощь друг другу.
  • Система динамической загрузки модулей: эта система не позволяет вам прикасаться к основному пакету при обновлении сервера.
  • URL перезаписывается в .htaccess : Apache 2 использует mod_rewrite для чистой перезаписи.
  • Модульная конструкция: благодаря модульной конструкции Apache предлагает больше возможностей для настройки и гибкости.
  • Конфигурация сервера с помощью файла httpd.conf : Конфигурация проста, так как вам не нужно обращаться к основному файлу apache2.conf .
  • Действовать как «шлюзовый» сервер: Apache также может выполнять функцию обратного прокси-сервера.

Сервер Apache — это удобный веб-сервер с множеством функций настройки. Программное обеспечение также совместимо с серверами Unix и Windows.

Nginx

NGINX был выпущен в 2004 году Игорем Сысоевым, основателем NGINX Inc., для решения проблемы C10K. Это проблема, с которой сталкиваются веб-серверы при обработке 10 000 или более одновременных запросов на подключение.

Чтобы решить эту проблему, NGINX был разработан как асинхронная, неблокирующая и основанная на событиях архитектура. Это одно из основных различий между NGINX и Apache. Это также одна из причин, по которой примерно 32,1% веб-сайтов используют NGINX.

Есть много других преимуществ, которые предоставляет NGINX, например:

  • Легкий дизайн : NGINX может работать на минимальном оборудовании и использует меньше памяти, чем Apache.
  • Обработка статического контента : NGINX предлагает лучшую обработку статического контента при правильной настройке.
  • Высокая скорость отклика : NGINX сохраняет высокую скорость отклика при интенсивном трафике.
  • Удобный дизайн : кривая обучения проще, а NGINX удобен для начинающих.
  • Модульная установка : конструкция этого сервера допускает гибкие сборки и ряд сторонних модулей.
  • Обратный прокси: NGINX Plus предлагает программный обратный прокси с возможностями, аналогичными аппаратным решениям, по более низкой цене.

NGINX и NGINX Plus часто рассматриваются как лучшие варианты для веб-сайтов с высокой посещаемостью из-за их возможностей балансировки нагрузки для обработки более высоких нагрузок. Он также идеально подходит для поддержания максимальной производительности на сайтах с большим количеством статического веб-контента.

В чем разница между Apache и NGINX?

Хотя NGINX и HTTP-сервер Apache похожи, между ними есть много различий. Самое большое различие заключается в том, как эти веб-серверы обрабатывают несколько клиентских запросов. Apache использует разветвленное решение, а NGINX использует неблокирующий цикл обработки событий.

Apache предоставляет многопроцессорные модули (MPM), которые определяют, как работает обработка запросов. Разветвленный подход упрощает замену архитектуры обработки соединений. Модули, используемые в этом подходе, являются дополнениями к основной функциональности Apache. Каждый многопроцессорный модуль запускает отдельный процесс для обработки запросов к серверу.

Одним из примеров является mpm-worker — модуль, который создает процессы, обрабатывающие несколько потоков. Каждый поток представляет собой одно соединение с сервером. Добавление этого модуля позволяет масштабировать сервер и позволяет управлять большими объемами трафика.

NGINX отличается и порождает только рабочие процессы для одновременной обработки запросов. Эти процессы являются неблокирующими событиями, которые постоянно проверяют и обрабатывают несколько запросов. Эта непрерывная проверка создает петлю. Все события в цикле являются асинхронными и удаляются из цикла при закрытии соединения.

Какое лучшее программное обеспечение для веб-сервера WordPress?

И Apache, и NGINX хорошо работают с хостингом WordPress. Однако NGINX может быть лучшим вариантом, если вы хотите повысить производительность. Давайте посмотрим, как установить WordPress на оба типа серверов, чтобы вы были готовы начать работу с любым из них.

Как установить WordPress на Apache

Чтобы установить WordPress на Apache, вам нужно настроить стек LAMP (Linux, Apache, MySQL и PHP). Обычно это делается на сервере Ubuntu.

Шаг 1. Создайте пользователя Sudo на своем сервере

Чтобы создать пользователя, войдите на сервер как пользователь root. Затем используйте команду добавления пользователя ниже, чтобы создать новую учетную запись:

 $ adduser username

Сервер предложит вам установить и подтвердить пароль. Затем заполните данные для пользователя. Затем вы можете предоставить доступ sudo этому пользователю. Этот доступ позволяет пользователю выполнять команды, которые обычно выполняются пользователем root.

Чтобы добавить пользователя в группу sudo , введите следующую команду:

 $ usermod -aG sudo username

Затем вы захотите войти на сервер как пользователь sudo для остальной части процесса установки.

Шаг 2: Установите веб-сервер Apache

Чтобы установить Apache, вам нужно будет использовать менеджер пакетов Ubuntu apt . Это значение по умолчанию на серверах Ubuntu. Ввод следующей команды sudo запускает установку после ввода пароля:

 $ sudo apt update $ sudo apt install apache2

Затем вы увидите пакеты, которые будут установлены, и сколько места на диске потребуется. Нажмите Y , а затем Enter, чтобы начать установку.

Шаг 3: Установите сервер базы данных MySQL

Далее вам необходимо установить систему управления базами данных MySQL. Следующая команда в диспетчере пакетов запустит установку:

 $ sudo apt install mysql-server

Пакеты и необходимое дисковое пространство будут отображаться снова. Чтобы начать установку, нажмите Y и установите пароль root.

Шаг 4: Установите PHP

PHP — это часть вашего стека LAMP, которая преобразует код в динамический контент. Для его установки необходимо ввести следующую команду:

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

После этого PHP должен установиться без проблем. Вам потребуется перезапустить сервер, чтобы завершить установку стека. Для этого введите следующую команду:

 $ sudo systemctl restart apache2

Теперь ваш стек LAMP установлен и настроен.

Шаг 5: Настройте виртуальные хосты

Виртуальные хосты инкапсулируют детали конфигурации и являются рекомендуемым шагом. Инкапсуляция позволяет размещать на сервере более одного веб-сайта.

Серверы Apache по умолчанию используют каталоги /var/www/html , которые громоздки для нескольких веб-сайтов. Чтобы создать виртуальный хост, вам нужно настроить структуру каталогов в /var/www для домена нового веб-сайта.

Используйте следующую команду для создания этой структуры:

 sudo mkdir /var/www/new_domain

Измените new_domain на домен вашего сайта. Затем создайте файл index.html с образцом содержимого с помощью команды nano :

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

Чтобы убедиться, что Apache обслуживает ваш контент, вам также необходимо создать хост-файл. Следующая команда создает файл конфигурации:

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

Затем добавьте следующий блок конфигурации:

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

Следующая команда включает файл, а вторая отключает сайт по умолчанию на сервере:

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

Теперь ваш виртуальный хост должен быть настроен и работать. Этот вновь созданный каталог следует использовать для установки WordPress.

Шаг 6: Установите WordPress

После настройки стека LAMP вы можете установить WordPress. Загрузите последнюю версию WordPress и установите ее с помощью следующей команды:

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

Затем настройте Apache для WordPress и создайте базу данных MySQL. Затем используйте интерфейс веб-браузера WordPress для завершения настройки веб-сайта. Это включает в себя создание названия сайта и установку пароля.

Как установить WordPress на NGINX

Чтобы установить WordPress на NGINX, вам нужен сервер с одним из дистрибутивов, поддерживаемых NGINX Unit. Если вы используете Linux, вы будете создавать стек LEMU (Linux, NGINX, MySQL и модуль NGINX).

Шаг 1: Установите MySQL

Перед запуском создайте пользователя сервера с доступом sudo . Войдите на свой сервер как пользователь root и используйте следующую команду для создания новой учетной записи:

 $ adduser username

Вам нужно будет ввести и подтвердить пароль, прежде чем заполнять данные пользователя. Затем вы можете предоставить доступ sudo этому пользователю. Этот доступ позволяет пользователю выполнять команды, которые обычно выполняются пользователем root.

Чтобы добавить пользователя в группу sudo , введите следующую команду:

 $ usermod -aG sudo username

Войдите на сервер как пользователь sudo и используйте следующую команду для установки MySQL:

 $ sudo apt-get install mysql-server

Введите новый пароль root. Затем можно запустить инструмент настройки MySQL. Это мастер настройки, который проведет вас через процесс установки.

Шаг 2: Создайте базу данных MySQL

Как только MySQL будет готов, вы можете создать новую базу данных. Вам также потребуется создать нового пользователя с правами управления. Для этого войдите в корневую учетную запись MySQL и введите следующие команды:

 $ 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

Команда Flush Privileges гарантирует, что MySQL распознает внесенные вами изменения. Вы должны изменить имя пользователя и пароль по умолчанию, чтобы они соответствовали вашим предпочтениям.

Шаг 3: Установите WordPress

Перед установкой WordPress вы должны создать место для временного файла, используя следующую команду:

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

Эта команда также загружает и распаковывает WordPress.

Шаг 4: Настройте WordPress

Затем создайте копию файла конфигурации WordPress и переименуйте его с помощью следующих команд:

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

Вы можете обновить ключи SALT в файле для повышения безопасности. Использование nano открывает файл wp-config.php и позволяет искать ключи SALT:

 $ sudo nano wp-config.php

Замените ключи вновь сгенерированными, а затем сохраните и закройте файл.

Шаг 5: Установите PHP

Хотя вы можете использовать модуль NGINX, вам все равно следует установить PHP. Для этого вы можете использовать следующую команду:

 $ 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

Это необходимо, поскольку WordPress использует несколько расширений, не включенных в модуль NGINX.

Шаг 6: Установите модуль NGINX

Наконец, вам нужно будет установить предварительно скомпилированный модуль NGINX для операционной системы вашего сервера. Используйте следующую команду для установки модуля для 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/

Эти команды также проверяют правильность работы модуля NGINX и PHP.

Далее вам необходимо установить и настроить NGINX Open Source. Вы можете установить готовый пакет из основной ветки. К ним относятся последние функции и исправления. После этой настройки WordPress будет готов к использованию.

Продолжайте учиться с движком WP

Apache и NGINX — самые популярные варианты программного обеспечения для веб-серверов. Но в битве между NGINX и Apache, кто окажется победителем? Хотя они во многом похожи, сервер NGINX обеспечивает лучшую производительность для веб-сайтов с высокой посещаемостью. Однако Apache имеет более широкое сообщество с большим количеством документации.

Конечно, вам понадобится несколько вещей, чтобы разработать выдающийся веб-сайт. К ним относятся правильные инструменты, лучшие ресурсы и первоклассный веб-хостинг!

Для получения дополнительных ресурсов по SEO и веб-ресурсам, таких как оптимизация WordPress и понимание ошибок HTTP 400, посетите наш Центр ресурсов, чтобы улучшить свой сайт.