LEMP стек: Основная информация

LEMP стек - это группа открытого программного обеспечения для запуска веб-сервиса на VPS. Сокращение включает аббревиатуру Linux (L), MySQL (M), и PHP (P) более традиционного стека LAMP, но с заменой Apache на Nginx (произносится как "энджин икс").

Это руководство показывает как установить Nginx/MySQL/PHP-FPM, а также все необходимые репозитории для загрузки Nginx и PHP-FPM. Мы также покажем как настроить PHP и Nginx на Debian 7, а также покажем как создать страницу с информацией о настройках PHP.

1) Обновление apt-get

Команда apt-get update используется для повторной синхронизации файла индексации с их репозиториями. При использовании комбинации команд apt-get upgrade, произойдет обновление всех доступных пакетов до последней доступной версии.

На данный момент нам достаточно запустить только команду обновления:

sudo apt-get update

2) Установка MySQL на VPS

MySQL является мощной системой управления базами данных и используется для организации, хранения и извлечения данных.

Для установки MySQL, откройте терминал и введите в нем следующую комбинацию команд:

sudo apt-get install mysql-server php5-mysql

В процессе установки, MySQL попросит Вас установить пароль администратора. Если Вы упустите свой шанс установить пароль во время установки программы, то это можно легко сделать позже из оболочки MySQL.

Password

После установки MySQL, мы должны активировать его при помощи следующей команды:

sudo mysql_install_db

Для окончания установки MySQL запустите скрипт:

sudo /usr/bin/mysql_secure_installation

Командная строка запросит текущий пароль администратора.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Дальше Вы получите запрос с предложением изменения пароля администратора. Идем дальше и выбираем N, т.к. пароль администратора у нас уже установлен ранее; однако, для всех оставшихся вопросов можете просто ответить Y - если нет причины сделать иначе и Вы четко понимаете что делаете.

Теперь давайте установим Nginx!
 

3) Установка и настройка Nginx на VPS

Установка


Начальную установку проще всего сделать при помощи команды apt-get.

sudo apt-get install nginx

Чтобы запустить Nginx нужно выполнить следующую команду:

sudo service nginx start

Теперь если указать в браузере IP адрес Вашего сервера, Вы должны получить подтверждение, что Nginx был успешно установлен на VPS сервере.

* Запустите следующую команду чтобы определить IP адрес VPS'а.

ifconfig eth0 | grep inet | awk '{ print $2 }'

 

Конфигурация


Откройте файл виртуального хоста по-умолчания при помощи следующей команды:

sudo nano /etc/nginx/sites-available/default

Конфигурация должна включать следующие изменения указанные ниже:

ВНИМАНИЕ: Для новых версиях Ubuntu создайте директорию по-умолчанию с названием 'html' вместо 'www'. Если /usr/share/nginx/www не существует, возможно она называется html. Убедитесь, что изменения конфигурационного файла сделаны правильно.

[...]
server {
  listen 80;

  root /usr/share/nginx/www;
  index index.php index.html index.htm;

  server_name example.com;

  location / {
    try_files $uri $uri/ /index.html;
  }

  error_page 404 /404.html;

  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/www;
  }

  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}
[...]

Подробности о сделанных изменениях:

  • Добавляем index.php в опцию index.
  • Изменяем server_name из localhost на название Вашего домена или указываем IP адрес (замените example.com)
  • Изменяем настройки в секции “location ~ \.php$ {“

Сохранить и выйти.

4) Установка и настройка PHP


Установка


Наверное Вы уже догадались, что мы будем использовать команду apt-get для установки PHP-FPM:

sudo apt-get install php5-fpm

 

Настройка


Мы должны сделать одно небольшое изменение в конфигурации PHP. Откройте php.ini:

sudo nano /etc/php5/fpm/php.ini

Найдите строку cgi.fix_pathinfo=1 и замените 1 на 0.

cgi.fix_pathinfo = 0

Если эта настройка установлена как 1, интерпретатор PHP обработает файл который наиболее близок запрашиваемому файлу. Это создает определенные риски для безопасности системы. Если значение установлено как 0, то наоборот, интерпретатор будет обрабатывать только точный путь к файлу - это более безопасная альтернатива. Сохранить и выйти.

Нам необходимо сделать еще одно небольшое изменение в настройках PHP-FPM. Откройте www.conf:

sudo nano /etc/php5/fpm/pool.d/www.conf

Найдите строку, listen = 127.0.0.1:9000, и замените 127.0.0.1:9000 на /var/run/php5-fpm.sock.

listen = /var/run/php5-fpm.sock

Сохранить и выйти.

Перезагрузка PHP-FPM:

sudo service php5-fpm restart

 

5) Создание страницы PHP Info


В PHP есть возможность быстрого просмотра всех параметров конфигурации. Для этого сначала создайте новый файл:

sudo nano /usr/share/nginx/www/info.php

Добавьте следующие строки:

<?php
phpinfo();
?>

Затем сохранить и выйти.
 

Окончание


Перезагрузка Nginx:

sudo service nginx restart

Теперь можно увидеть подробную информацию о настройках Nginx и PHP-FPM если зайти браузером на страницу http://youripaddress/info.php

После всех проделанных манипуляций LEMP стек на Вашем VPS можно считать минимально настроенным и его можно использовать в качестве производительного веб-сервера.

Оригинальная статья: How To Install Linux, Nginx, MySQL, PHP (LEMP) Stack on Debian 7
Перевод: Игорь Пастух

Comments

Add new comment

Image CAPTCHA
Enter the characters shown in the image.