В этой статье мы рассмотрим настройку NGINX и MySQL, PHP-fpm на Debian 8 в InfoboxCloud. В этом решении мы отказываемся от использования Apache (стек LAMP), заменяя его связкой NGINX и PHP-fpm (стек LEMP).
Для настройки вам потребуется сервер с Debian 8. Если у вас еще нет доступа в InfoboxCloud, можно получить его тут. После этого войдите в панель управления и создайте новый сервер.
Задайте необходимый объем ресурсов для сервера и нажмите «Далее». Не забудьте выделить серверу как минимум 1 публичный ip–адрес и установить достаточную скорость сети, как показано на скриншоте ниже.
На следующем шаге выберите ОС Debian 8 и завершите создание сервера.
Вы получите данные для доступа к серверу на e–mail. Подключитесь к серверу по SSH.
Обновите ОС с помощью команды:
В шаблоне Debian 8 предустановлен Apache, который в данном сценарии не нужен. Просто удалите егo:
Для установки СУБД MySQL используйте команду:
Вам будет предложено ввести пароль администратора. Введите и сохраните пароль в надежном месте.
После завершения установки выполните команду для инициализации директории данных и создания системных таблиц:
Затем выполните:
Проверить текущую версию базы данных можно, выполнив команду:
Убедитесь, что mysql запущен и добавлен в автозагрузку.
Скрипт загрузки MySQL еще не использует подхода systemd, поэтому информация о том, включена ли автозагрузка, на этом шаге не отображается.
Однако можно посмотреть так:
Установить nginx можно командой:
Убедитесь, что nginx запущен и добавлен в автозагрузку.
Как мы видим, сервис active (запущен) и enabled (стартует при запуске ОС).
Если открыть в браузере ip-адрес сервера, вы увидите приветственную страницу apache. Это совершенно не значит, что на сервере запущен apache. Просто в веб-директории по умолчанию /var/www/html/ осталась приветственная страница apache. Удалите все в /var/www/html:
Для настройки NGINX отредактируйте файл /etc/nginx/sites-available/default.
1. Добавьте index.php в раздел index перед index.html и другими, чтобы если в директории сайта есть файл index.php, он открывался по-умолчанию.
2. Задайте настройки выполнения PHP скриптов, как показано на скриншоте ниже:
Сохраните изменения в файле.
Установите PHP-FPM:
В файле /etc/php5/fpm/php.ini установите:
Это необходимо в целях безопасности.
Теперь перезапустите php-fpm и nginx:
Создайте страницу по адресу /var/www/html/info.php со следующим содержимым:
Теперь откройте в браузере ip_адрес_сервера/info.php. Вы увидите информацию о вашей инсталляции php:
Таким образом мы успешно настроили наш LEMP сервер.
Если вы нашли ошибку в статье, у вас есть вопрос или идея для статьи — напишите нам в ЛС или на почту. Если вы не можете оставлять комментарии на Хабре, напишите их в Сообществе 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/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 сервер.
Если вы нашли ошибку в статье, у вас есть вопрос или идея для статьи — напишите нам в ЛС или на почту. Если вы не можете оставлять комментарии на Хабре, напишите их в Сообществе InfoboxCloud.
Успешной работы!