Показать статистику
0 голосов
от (780 баллов)
96 просмотров 1 ответов

1 Ответ

0 голосов
от (19.1тыс. баллов)

Следуя этим простым инструкциям, вы сможете установить стек LEMP на Debian 9 (Stretch). Буду следовать «буквенному подходу», очевидно, пропуская букву «L» для Linux: имея работающую установку Debian 9, вы уже выполнили это требование. 

Начнем с простой установки в Debian 9, используя apt-get для установки необходимых пакетов. Очевидно, что вместо этого можно использовать aptitude.

'E' часть стека: nginx

Что такое nginx? Nginx, как и Apache, является http-сервером. По сравнению с последним он считается более легким. Хотя apache имеет возможность обрабатывать многие интерпретируемые языки «напрямую», nginx фокусируется на статическом содержимом, обеспечивая управление динамическими языками на отдельном программном обеспечении. 

Давайте обновим репозитории и установим nginx на нашу машину Debian. Для этого пропишем:

# apt-get update && apt-get install nginx

Через несколько секунд будет установлен nginx. Следующим шагом является запуск службы:

# systemctl start nginx

Вы можете включить автоматический запуск службы во время загрузки:

# systemctl enable nginx

Если вы установили веб-сервер на том же компьютере, который использовался в качестве клиента, чтобы убедиться, что он работает, вам просто нужно указать браузер localhost, в противном случае вам придется использовать определенный IP-адрес сервера. 

Так как я запускаю Debian на виртуальной машине kvm, мне пришлось указать браузеру ip сервера. Если вы не знаете, что такое IP-адрес сервера, вы можете просто найти его с помощью команд ip или ifconfig (последняя считается устаревшей, тем не менее она хорошо выполняет свою работу). Использование ip запустите:

# ip address show

Приведенная выше команда выдаст вывод, подобный следующему:

Адрес 192.168.122.70. Чтобы получить доступ к серверу извне, вам также необходимо настроить брандмауэр, чтобы разрешить входящий трафик через порт 80. Например, если вы используете firewalld, вы можете просто добавить службу http в соответствующую зону (по умолчанию «публичная» зона)

# firewall-cmd --zone=public --add-service=http

 

Вы также можете добавить --permanentопцию в команду выше, чтобы сделать изменение постоянным. Давайте нацелим браузер на адрес сервера и посмотрим, что произойдет:

 Страница приветствия nginx показывает, что веб-сервер успешно установлен и работает правильно.

Теперь база данных: M для MariaDB

Практически во всех основных дистрибутивах mysql был заменен на MariaDB, полностью совместимый и более функциональный форк, созданный при приобретении mysql Oracle:

# apt-get install mariadb-server mariadb-client

Эта команда установит пакеты mariadb-server и mariadb-client (вместе со всеми необходимыми зависимостями). 

Пакет mariadb-client содержит утилиты, необходимые для связи с сервером. 

Модуль mariadb.service будет запущен автоматически, и на этом этапе у вас уже должен быть запущен mariadb. 

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

# mysql_secure_installation

Он проведет вас к серии шагов, чтобы привести mariadb в согласованное состояние.

«Р» для PHP

Версия php по умолчанию для Debian stretch - 7.0: нам нужно установить следующие пакеты:

# apt-get install php-fpm php-mysql

Демон php7.0-fpm будет запущен автоматически. Как мы уже говорили ранее, nginx использует внешнее программное обеспечение для управления динамическим содержимым и php-fpm является FastCGI Process Manager, на который nginx будет перенаправлять запросы php. Чтобы настроить nginx для работы php-fpm, мы должны отредактировать default конфигурацию сайта. 

Debian хранит конфигурацию для каждого сайта («серверные блоки» в терминологии nginx - своего рода эквивалент apache VirtualHosts) в двух папках: /etc/nginx/sites-available и /etc/nginx/sites-enabled. В первом каталоге у нас есть конфигурации, которые связаны с последним, когда сайт включен. Поэтому конфигурация сайта по умолчанию доступна по адресу /etc/nginx/sites-available/default. Давайте отредактируем файл:

Отредактируйте соответствующую часть файла так, чтобы она отражала вышеуказанную конфигурацию. Удаляя комментарии в приведенных выше строках, мы в основном сообщаем nginx, что мы хотим использовать php-fpm, и используем соответствующий сокет unix. 

Теперь нам нужно протестировать конфигурацию с помощью простого php-скрипта, но сначала мы должны перезапустить nginx, чтобы изменения, которые мы сделали, были эффективными:

# systemctl restart nginx

Корневой каталог документа для стандартного серверного блока в Debian таков /var/www/html: мы создадим простой сценарий php, чтобы отобразить некоторую информацию и убедиться, что все работает правильно:

# echo "<?php phpinfo(); ?>" > /var/www/html/infopage.php

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

Это итоговая страница

...