Nginx + PHP-fastcgi + MySQL + memcache на Debian (FastVPS)

Решил написать данную статью после того, как сам столкнулся с установкой нового Nginx 1.1.4 на VPS от FastVPS. Купил OVZ-3, поставил Debian 5 но вот что-то захотелось поставить Nginx. Сайты все у меня на apache, но вот недавно заметил небольшое торможение сайтов и решил сменить и VPS и серверную часть. По мере изучения материалов с хабры и применяя их на VPS столкнулся с небольшими проблемами установки Nginx. Данная статья будет полезна начинающим веб-мастерам которые, хотят быстро установить у себя свежую версию Nginx и MySQL.

Требования к вам:
- Доступ к VPS на котором установлена ОС Debian Linux
- SSH-клиент с помощью которого вы будете ввести все нижеуказанные команды
- Начальное знакомство с командной строкой Linux
Разработка Nginx не стоит на месте, она развивается большими темпами. Мы установим новую версию на текущий момент Nginx 1.1.4. Репозитории Debian не могут представить нам новые версии, так что мы и без него их найдем.
Сперва давайте обновим пакеты

Ставим библиотеки в которых нуждается Nginx для нормальной работы

Для поддержки Perl

Теперь самое главное для чего мы тут и собрались, начинаем сборку и установку Nginx 1.1.4
(Выполняем по одной строке)

Теперь запускаем самого Nginx

Заходим на сайт(или на IP) вашего VPS где установили только что Nginx. Вы должны увидеть по середине большим шрифтом текст: Welcome to nginx! Это означает что, вы хорошо справляетесь с поставленной задачей!

Для продолжения установки нам понадобится помощь команды dos2unix Данная команда является конвертером файлов которые были созданы в среде Windows и запускаются в Unix.
Скоро мы начнем создавать скрипт для авто запуска nginx и PHP-fastcgi, если вы работаете в ОС Windows то текст ниже спасет ваши нервы, если вы начали запуск данных скриптов читая данную статью. Если вы сейчас на ОС из семейства Linux, тогда вы можете сразу перейти к созданию файлов. Проблема в том что текстовые редакторы из Windows вставляют некоторые символы которых Linux не адекватно воспринимает и при запуске скрипта вы бы получали ошибку: /bin/sh^M: bad interpreter: no such file or directory

Устанавливаем dos2unix во избежании ошибки "dos2unix command not found"

Теперь добавляем nginx в автозагрузку, для этого следуем шагам:
1. Сохраняем файл nginx в /etc/init.d/ (Получится такой путь к файлу: /etc/init.d/nginx)
2. Выполняем конвертацию файла из DOS в UNIX

Делаем исполняемым и добавляем nginx в автозагрузку:

Теперь мы можем манипулировать состоянием http-сервера с помощью команд:

Установка MySQL

Мы не будет устанавливать MySQL из стандартного набора Debian, подключим дополнительный репозиторий, который порадует нас новыми пакетами данных.

Чтобы открыть доступ к новому репозитарию, редактируем файл /etc/apt/sources.list добавляем в конце данные строки:

Во избежании жалоб на отсутствие подписи, мы добавим следующие ключи:

Если у вас не установлена утилита aptitude выполните данную команду

Вернемся к установке MySQL, устанавливаем MySQL сервер командой:
(Во время установки вас попросят ввести новый пароль от MySQL root пользователя, будьте осторожны!)

Установка PHP и дополнительные расширения

Выполняем в командной строке:

Настройка FastCGI

1. Сохраняем init-скрипт php-fastcgi в /etc/init.d (получится такой путь: /etc/init.d/php-fastcgi)
2. Создаем для него файл конфигурации в директории /etc/default/php-fastcgi.
Сохраняем файл php-fastcgi в /etc/default/ (получится такой путь: /etc/default/php-fastcgi)
3. Выполняем конвертацию файлов из DOS в UNIX

Добавляем скрипт в список автоматического выполнения при загрузке системы

Запускаем службу:

Настройка Nginx

Создаем папку где будут лежать файлы нашего сайта:

Открываем файл /usr/local/nginx/conf/nginx.conf и сохраняем его с текущем содержимым

Перезапускаем nginx:

Создаем файл index.php и загружаем его в папку /home/www

Зайдите на ваш сайт и уведите результат нашей работы. Если вы уведите логотип PHP и большую таблицу с характеристиками установленного PHP значит вы справились!

MEMCACHE

Выполняем следующую команду в командной строке:
 

Перезапускаем php

Удачной работы!
Если будут вопросы, задавайте их в комментариях ниже!
Заказать качественный VPS/VDS от качественных представителей FastVPS.ru