Поиск по сайту:

Как установить и настроить LEMP в Debian 8 (Джесси)


Одной из наиболее распространенных причин установки системы Linux является размещение веб-сайтов. Согласно опросу NetCraft.com, проведенному в феврале 2016 года среди 1 миллиона самых загруженных веб-сайтов в мире, примерно 15,60% из них работают на Nginx.

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

В этом руководстве рассматриваются основы установки и настройки сервера Linux (в частности, Debian 8 Jessie) для работы в качестве сервера LEMP.

Что такое сервер LEMP?

Отличный вопрос! Как и большинство вещей в мире вычислений, LEMP — это аббревиатура от Linux, Nginx, MySQL и PHP.

Эта аббревиатура обычно используется для ссылки на коллекции программного обеспечения на веб-сервере. В этом руководстве сначала рассматривается настройка LEMP, в частности MySQL и PHP.

Прежде чем перейти к аспектам настройки систем, важно знать о Nginx.

Что такое Нгинкс?

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

Установка и настройка MySQL и PHP

1. В первом разделе рассматривается Debian как сервер MySQL и PHP. Linux-часть сервера LEMP уже должна быть создана путем установки Debian! Однако, если вам понадобится руководство по установке Debian, прочитайте следующую статью на TecMint:

  1. Установка Debian 8 Джесси

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

apt-get install mysql-server-5.5 php5-mysql php5

В зависимости от аппаратного обеспечения системы и подключения к Интернету этот процесс может занять некоторое время. На момент написания этой статьи для новой установки Debian Jessie со всеми примененными обновлениями требовалось около 70 МБ архивов из репозиториев (не так уж и плохо, учитывая, что будет делать сервер, когда все будет готово)! В процессе установки система может предложить пользователю установить пароль пользователя root SQL. Он отличается от фактического пароля пользователя root и в целях безопасности, вероятно, должен оставаться другим.

2. Как только apt завершит установку всего программного обеспечения, основные службы будут запущены. Однако если остановиться здесь, урок окажется очень коротким! Итак, давайте немного углубимся в настройку каждой установленной части программного обеспечения, начиная с MySQL.

3. После установки MySQL часто рекомендуется выполнить на SQL-сервере некоторые базовые домашние работы при установке по умолчанию. Это легко сделать с помощью утилиты mysql_secure_installation.

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

mysql_secure_installation

Эта команда запустит интерактивную подсказку, в которой будут заданы вопросы по вышеуказанным темам. Поскольку apt уже запросил пароль root MySQL, этот пароль необходимо будет ввести, чтобы внести какие-либо изменения. Поскольку пароль root уже установлен, ответом на запрос об изменении пароля root на сервере MySQL может быть ответ Нет.

4. Следующий набор вопросов будет касаться анонимных пользователей, «тестовой» базы данных и удаленного доступа к базе данных с правами root. Обычно можно безопасно ответить Да на все эти запросы, если только нет особой причины, по которой при установке необходимо оставить один из этих параметров нетронутым.

ПРИМЕЧАНИЕ. Может возникнуть ошибка, связанная с невозможностью удаления базы данных под названием «test». Не беспокойтесь об этом, так как база данных может или может не существовать, и независимо от этого сценарий будет продолжать делать то, что необходимо.

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

5. Теперь, когда MySQL настроен, давайте продолжим и настроим некоторые базовые настройки PHP для этого конкретного сервера. Несмотря на то, что в PHP существует масса настроек, которыми можно манипулировать, есть лишь несколько основных, которые почти всегда следует изменять. Файл конфигурации PHP находится по адресу /etc/php5/fpm/php.ini. Откройте этот файл в любом текстовом редакторе.

nano /etc/php5/fpm/php.ini

Используя возможности поиска nano, ctrl+w найдите строку «memory_limit» (без кавычек). При установке по умолчанию для этой строки уже установлено значение 128M, но если приложению потребуется больше, эту строку можно изменить в соответствии с требованиями.

Еще один важный параметр, который следует проверить, — это «max_execution_time», и снова по умолчанию для него будет установлено значение 30. Если приложению требуется больше, эту опцию можно изменить. Некоторые люди предпочитают также настраивать ведение журнала PHP в специальный файл/каталог. Если это необходимо, найдите строку «error_log =», а затем раскомментируйте строку, удалив точку с запятой, которая обычно присутствует по умолчанию.

На этом этапе в конец строки можно добавить значение файла журнала. Убедитесь, что путь существует в системе. Закончив внесение необходимых изменений в файл php.ini, сохраните изменения и выйдите из текстового редактора. На данный момент MySQL и PHP5 готовы к размещению сайтов. Теперь пришло время настроить Nginx.

Установка и настройка Nginx

6. Nginx (движок X) — альтернативный и очень мощный веб-сервер. В этом разделе этого руководства рассматривается настройка веб-страницы для размещения Nginx. Первым шагом к настройке Nginx является установка необходимых пакетов с помощью утилиты apt.

apt-get install nginx

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

ПРИМЕЧАНИЕ. В некоторых случаях после установки Nginx сервер не запускается автоматически. Если переход по IP-адресу сервера в веб-браузере не приводит к появлению страницы, указанной ниже, введите следующую команду, чтобы убедиться, что Nginx запущен.

service nginx start

Nginx теперь успешно размещает страницу по умолчанию. Хотя страница Debian по умолчанию представляет собой яркий веб-сайт, большинство пользователей захотят разместить что-то свое.

7. Следующие шаги будут посвящены настройке Nginx для размещения другого веб-сайта. Nginx, как и Apache 2, имеет собственный каталог конфигураций, расположенный по адресу /etc/nginx. Перейдите в этот каталог с помощью утилиты cd.

cd /etc/nginx

В этом руководстве есть несколько важных файлов и каталогов для настройки веб-сайта с использованием Nginx. Первые два важных каталога — это каталоги «доступные для сайтов» и каталоги «включенные для сайтов». Как и Apache 2, Nginx использует файлы конфигурации для каждого сайта в каталоге, доступном для сайтов, которые, когда они активны, символически связаны в каталоге с поддержкой сайтов.

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

rm sites-enabled/default

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

cp sites-available/default sites-available/tecmint-test

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

nano sites-available tecmint-test

В этом файле необходимо изменить несколько важных параметров, чтобы Nginx мог обслуживать сайт. Первая — это строка, которая начинается с «root», поскольку эта строка определяет, где Nginx должен хранить файлы для этого конкретного сайта.

В этом руководстве мы оставим значение по умолчанию «/var/www/html» и просто поместим html-файлы для обслуживания в этот каталог. Однако обязательно измените этот путь, если на этом сервере будет несколько сайтов или пользовательская конфигурация.

Следующая важная строка — это строка «index». Поскольку эта статья посвящена установке LEMP и сайт потенциально может обслуживать страницы php, необходимо сообщить Nginx, что страницей по умолчанию может быть страница php. Для этого просто добавьте «index.php» в конец индексного списка файлов.

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

echo “It's ALIVE!” > /var/www/html/index.html

9. Следующим шагом будет активация нового сайта путем связывания только что созданного файла конфигурации с каталогом sites-enabled. Это легко сделать с помощью команды ln и последующей перезагрузки конфигурации Nginx с помощью служебной утилиты.

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

На этом этапе Nginx должен обслуживать новую «простую» веб-страницу. Это можно подтвердить, перейдя по IP-адресу сервера через веб-браузер!

Опять же, в этой статье речь шла об очень простых конфигурациях LEMP. Большинству сайтов потребуется дополнительная настройка всех задействованных частей, но варианты конфигурации могут исчисляться тысячами! Желаем удачи в любой настройке, выбранной для размещения веб-сайтов.