Разворачиваем стек LEMP (Linux, NGINX, MySQL, PHP) на Debian 8 для хостинга сайтов в InfoboxCloud

В этой статье мы рассмотрим настройку NGINX и MySQL, PHP-fpm на Debian 8 в облаке InfoboxCloud. В этом решении мы отказываемся от использования Apache (стек LAMP), заменяя его связкой NGINX и PHP-fpm (стек LEMP).



Создание сервера

Для настройки вам потребуется сервер с Debian 8. Если у вас еще нет доступа в InfoboxCloud, можно получить его тут, нажав кнопку «Заказать прямо сейчас». После этого войдите в панель управления и создайте новый сервер.


Задайте необходимый объем ресурсов для сервера и нажмите «Далее». Не забудьте выделить серверу как минимум 1 публичный ip–адрес и установить достаточную скорость сети, как показано на скриншоте ниже.


На следующем шаге выберите ОС Debian 8 и завершите создание сервера.


Вы получите данные для доступа к серверу на e–mail. Подключитесь к серверу по SSH.

Обновление ОС и подготовка к установке компонентов LEMP

Обновите ОС с помощью команды:
apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade

В шаблоне Debian 8 предустановлен Apache, который в данном сценарии не нужен. Просто удалите егo:
apt-get remove -y apache2*

apt-get autoremove

reboot


Установка MySQL
Для установки СУБД MySQL используйте команду:
apt-get install -y mysql-server

Вам будет предложено ввести пароль администратора. Введите и сохраните пароль в надежном месте.


После завершения установки выполните команду для инициализации директории данных и создания системных таблиц:
mysql_install_db


Затем выполните:
/usr/bin/mysql_secure_installation

  1. Будет предложено сменить root пароль (если вы только что его установили, можно ответить N).
  2. Далее на предложение удалить анонимных пользователей стоит ответить Y.
  3. На предложение запретить root-логин по сети нужно ответить Y в целях безопасности.
  4. Так же разрешите удалить тестовую базу данных, нажав Y.
  5. И наконец — перезагрузите таблицу привилегий, нажав Y.



Проверить текущую версию базы данных можно, выполнив команду:
mysql -u root -p -e 'SELECT VERSION();'


Убедитесь, что mysql запущен и добавлен в автозагрузку.
systemctl status mysql.service


Скрипт загрузки MySQL еще не использует подхода systemd, поэтому информация о том, включена ли автозагрузка, на этом шаге не отображается.
Однако можно посмотреть так:
service --status-all



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

Установить nginx можно командой:
apt-get install -y nginx

Убедитесь, что nginx запущен и добавлен в автозагрузку.
systemctl status nginx.service


Как мы видим, сервис active (запущен) и enabled (стартует при запуске ОС).

Если открыть в браузере ip-адрес сервера, вы увидите приветственную страницу apache. Это совершенно не значит, что на сервере запущен apache. Просто в веб-директории по умолчанию /var/www/html/ осталась приветственная страница apache. Удалите все в /var/www/html:
rm -r /var/www/html/*

Для настройки NGINX отредактируйте файл /etc/nginx/sites-available/default.
1. Добавьте index.php в раздел index перед index.html и другими, чтобы если в директории сайта есть файл index.php, он открывался по-умолчанию.


2. Задайте настройки выполнения PHP скриптов, как показано на скриншоте ниже:


Сохраните изменения в файле.

Установка и настройка PHP
Установите PHP-FPM:
apt-get install php5-fpm php5-mysql

В файле /etc/php5/fpm/php.ini установите:
cgi.fix_pathinfo=0

Это необходимо в целях безопасности.


Теперь перезапустите php-fpm и nginx:
service php5-fpm restart

service nginx restart


Тестируем работоспособность PHP

Создайте страницу по адресу /var/www/html/info.php со следующим содержимым:
<?php
phpinfo();
?>

Теперь откройте в браузере ip_адрес_сервера/info.php. Вы увидите информацию о вашей инсталляции php:

Таким образом мы успешно настроили наш LEMP сервер.

Если вы нашли ошибку в статье, у вас есть вопрос или идея для статьи — напишите нам.
Успешного использования Linux, NGINX, PHP и MySQL в InfoboxCloud!

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.