Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

Рубрики:

Linux, MySQL, Nginx, PHP

Метки:

, , , , ,

Стек LEMP – это аббревиатура, представляющая собой группу пакетов (ОС Linux, веб-сервер Nginx, база данных MySQL/MariaDB и язык динамического программирования на стороне сервера PHP), которые используются для развертывания динамических веб-приложений и веб-страниц.

Из этого руководства Вы узнаете, как установить стек LEMP с поддержкой MariaDB 10, PHP 7 и HTTP 2.0 сервер Nginx в выпусках Ubuntu 16.10 и Ubuntu 16.04 для серверов и настольных компьютеров.

Требования:
Установленный Ubuntu 16.04 Server Edition [инструкция также работает на Ubuntu 16.10]

 

Шаг 1. Установите веб-сервер Nginx

1. Nginx — это современный и ресурсоэффективный веб-сервер, используемый для отображения веб-страниц посетителям в Интернете. Начнем с установки веб-сервера Nginx из официальных репозиториев Ubuntu с помощью команды apt.

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

2. Затем выполните команды netstat и systemctl, чтобы подтвердить, запущен ли Nginx и привязан ли он к порту 80.

 

Check-Nginx-Network-Port-Connection

 

 

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

Получив подтверждение запуска сервера, вы можете открыть браузер и перейти к IP-адресу вашего сервера или записи DNS, используя протокол HTTP, чтобы посетить веб-страницу Nginx по умолчанию.

 

Verify-Nginx-Webpage

 

Шаг 2. Включите протокол Nginx HTTP/2.0

3. Протокол HTTP/2.0, который по умолчанию встроен в последний выпуск Nginx в Ubuntu 16.04, работает только в сочетании с SSL и обещает значительное улучшение скорости загрузки веб-страниц SSL.

Чтобы включить протокол в Nginx в Ubuntu 16.04, сначала перейдите к файлам конфигурации доступных сайтов Nginx и сделайте резервную копию файла конфигурации по умолчанию, выполнив следующую команду.

 

Backup-Nginx-Sites-Configuration-File

 

4. Затем с помощью текстового редактора создайте новую страницу по умолчанию со следующими инструкциями:

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

Приведенный выше фрагмент конфигурации позволяет использовать HTTP/2.0, добавив параметр http2 ко всем директивам прослушивания SSL.

Кроме того, последняя часть выдержки, включенная в директиву сервера, используется для перенаправления всего трафика, не связанного с SSL, на хост по умолчанию SSL/TLS. Также замените директиву server_name, чтобы она соответствовала вашему собственному IP-адресу или записи DNS (желательно, полное доменное имя).

5. После того, как вы закончили редактирование файла конфигурации Nginx по умолчанию с вышеуказанными настройками, создайте и перечислите файл сертификата SSL и ключ, выполнив следующие команды.

Заполните сертификат своими собственными пользовательскими настройками и обратите внимание на то, что параметр Common Name соответствует вашему полному доменному имени DNS или IP-адресу вашего сервера, который будет использоваться для доступа к веб-странице.

 

Generate-SSL-Certificate-and-Key

 

 

6. Кроме того, создайте шифр DH, который был изменен в указанном выше файле конфигурации в строке команд ssl_dhparam, выполнив следующую команду:

 

Create-Diffie-Hellman-Key

 

7. После создания ключа Диффи-Хеллмана проверьте, правильно ли записан файл конфигурации Nginx и может ли он применяться веб-сервером Nginx, и перезапустите демон, чтобы изменения вступили в силу, выполнив следующие команды.

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

8. Чтобы проверить, использует ли Nginx протокол HTTP/2.0, введите команду ниже. Наличие объявленного протокола h2 подтверждает, что Nginx был успешно настроен для использования протокола HTTP/2.0. Все современные браузеры должны поддерживать этот протокол по умолчанию.

 

Test-Nginx-HTTP-2-Protocol

 

Шаг 3. Установите интерпретатор PHP 7

Nginx можно использовать с интерпретатором языка динамической обработки PHP для создания динамического веб-контента с помощью диспетчера процессов FastCGI, получаемого путем установки двоичного пакета php-fpm из официальных репозиториев Ubuntu.

9. Чтобы получить PHP7.0 и дополнительные пакеты, которые позволят PHP взаимодействовать с веб-сервером Nginx, введите на консоли сервера следующую команду:

 

Install-PHP-7-PHP-FPM-for-Ngin

 

10. После того, как интерпретатор PHP7.0 был успешно установлен на вашем компьютере, запустите и проверьте демон php7.0-fpm, выполнив следующую команду:

 

Start-Verify-php-fpm-Service

 

11. Текущий файл конфигурации Nginx уже настроен для использования диспетчера процессов PHP FastCGI для сервера динамического содержимого.

Блок сервера, который позволяет Nginx использовать интерпретатор PHP, представлен на следующем фрагменте, поэтому никаких дополнительных изменений файла конфигурации Nginx по умолчанию не требуется.

 

Ниже приведен снимок экрана с инструкциями, которые необходимо раскомментировать и изменить в случае оригинального файла конфигурации Nginx по умолчанию.

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

12. Чтобы проверить связь веб-сервера Nginx с менеджером процессов PHP FastCGI, создайте файл конфигурации теста PHP info.php, выполнив приведенную ниже команду, и проверьте настройки, посетив этот файл конфигурации по следующему адресу: http://IP_or domain/info.php.

 

 

Create-PHP-Info-File

 

Verify-PHP-FastCGI-Info

 

Также проверьте, объявляется ли протокол HTTP/2.0 сервером, путем нахождения строки $ _SERVER [‘SERVER_PROTOCOL’] в блоке переменных PHP, как показано на снимке экрана ниже.

 

Check-HTTP-2.0-Protocol-Info

 

13. Чтобы установить дополнительные модули PHP7.0, используйте команду apt search php7.0, чтобы найти модуль PHP и установить его.

Также попробуйте установить следующие модули PHP, которые могут пригодиться, если вы планируете установить WordPress или другую CMS.

 

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

14. Чтобы зарегистрировать дополнительные модули PHP, просто перезапустите демон PHP-FPM, выполнив следующую команду.

 

 

Шаг 4: Установите базу данных MariaDB

15. Наконец, для завершения нашего стека LEMP нам нужен компонент базы данных MariaDB для хранения и управления данными веб-сайта.

Установите систему управления базами данных MariaDB, выполнив приведенную ниже команду и перезапустите службу PHP-FPM, чтобы использовать модуль MySQL для доступа к базе данных.

 

Install-MariaDB-for-Nginx

 

16. Чтобы обезопасить установку MariaDB, запустите скрипт безопасности, предоставляемый бинарным пакетом, из репозиториев Ubuntu, который попросит вас установить пароль root, удалить анонимных пользователей, удаленно отключить root и удалить тестовую базу данных.

Запустите скрипт, введя приведенную ниже команду и ответьте на все вопросы Да. Используйте приведенный ниже скриншот в качестве руководства.

 

Secure-MariaDB-Installation-for-Nginx

 

17. Чтобы настроить MariaDB так, чтобы обычные пользователи могли обращаться к базе данных без системных привилегий sudo, перейдите в интерфейс командной строки MySQL с привилегиями root и выполните следующие команды в интерпретаторе MySQL:

 

MariaDB-User-Permissions

 

Наконец, войдите в базу данных MariaDB и выполните произвольную команду без прав root, выполнив следующую команду:

 

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

 

Это все! Теперь у вас есть стек LEMP, настроенный на сервере Ubuntu 16.10 и/или Ubuntu 16.04, который позволяет развертывать сложные динамические веб-приложения, которые могут взаимодействовать с базами данных.

 

Спасибо за уделенное время на прочтение статьи! Читайте также о том, как настроить цвета и содержимое Bash в командной строке терминала Linux.

Если возникли вопросы, задавайте их в комментариях.

Если вам подошла инструкция о том, как установить стек LEMP, то подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, MySQL, Nginx, PHP

Метки:

, , , , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню