Разворачиваем стек LEMP (Linux, NGINX, MySQL, PHP) на Debian 8

В этой статье мы рассмотрим настройку 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 сервер.

Если вы нашли ошибку в статье, у вас есть вопрос или идея для статьи — напишите нам. Если вы не можете оставлять комментарии на Хабре, напишите их в Сообществе InfoboxCloud.

Успешной работы!

ссылка на оригинал статьи http://habrahabr.ru/post/262537/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *