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


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

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

Вы получите данные для доступа к серверу на e–mail. Подключитесь к серверу по SSH.
В шаблоне Debian 8 предустановлен Apache, который в данном сценарии не нужен. Просто удалите егo:
Вам будет предложено ввести пароль администратора. Введите и сохраните пароль в надежном месте.

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

Затем выполните:

Проверить текущую версию базы данных можно, выполнив команду:

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

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

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

Как мы видим, сервис active (запущен) и enabled (стартует при запуске ОС).
Если открыть в браузере ip-адрес сервера, вы увидите приветственную страницу apache. Это совершенно не значит, что на сервере запущен apache. Просто в веб-директории по умолчанию /var/www/vhosts/infobox.ru/httpdocs/community/ осталась приветственная страница apache. Удалите все в /var/www/vhosts/infobox.ru/httpdocs/community:
Для настройки NGINX отредактируйте файл /etc/nginx/sites-available/default.
1. Добавьте index.php в раздел index перед index.html и другими, чтобы если в директории сайта есть файл index.php, он открывался по-умолчанию.

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

Сохраните изменения в файле.
В файле /etc/php5/fpm/php.ini установите:
Это необходимо в целях безопасности.

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

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

Создание сервера
Для настройки вам потребуется сервер с 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
- Будет предложено сменить root пароль (если вы только что его установили, можно ответить N).
- Далее на предложение удалить анонимных пользователей стоит ответить Y.
- На предложение запретить root-логин по сети нужно ответить Y в целях безопасности.
- Так же разрешите удалить тестовую базу данных, нажав Y.
- И наконец — перезагрузите таблицу привилегий, нажав 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/vhosts/infobox.ru/httpdocs/community/ осталась приветственная страница apache. Удалите все в /var/www/vhosts/infobox.ru/httpdocs/community:
rm -r /var/www/vhosts/infobox.ru/httpdocs/community/*
Для настройки 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/vhosts/infobox.ru/httpdocs/community/info.php со следующим содержимым:<?php
phpinfo();
?>
Теперь откройте в браузере ip_адрес_сервера/info.php. Вы увидите информацию о вашей инсталляции php:

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