|
||
Ответить |
|
#1
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
Установка Nginx + PHP5 (С FastCGI и XCache) + MySQL на Ubuntu -
21.09.2009, 01:40
Статья предназначена в первую очередь начинающим админам, желающим без многочасового поиска по Сети сделать всё быстро и правильно.
Для начала несколько пояснений, чтобы потом не возникло вопросов:
Итак, помним, что в итоге мы должны получить HTTP сервер Nginx + PHP5 (С Fast-cgi и XCache) + MySQL на Ubuntu Hardy LTS. Первоначальная настройка сервера Не будем углубляться в подробности. Идём сюда и делаем как написано. Настроить сервер – значит установить файрвол, создать юзеров для доступа по SSH, отключить учётную запись root, раскрасить bash, проапдейтить пакеты до последних версий. Просто следуйте простым инструкциям здесь и здесь. Всё очень доступно. Установка PHP, MySQL и необходимых пакетов Устанавливаем необходимые пакеты (Build Essentials) PHP код:
PHP код:
Устанавливаем MySQL сервер PHP код:
PHP код:
Установка и настройка сервера Nginx Существуют миллионы инструкций как компилировать программы из исходников, но мне не хочется этим заморачиваться. К тому же Ubuntu позволяет проделывать такие вещи. PHP код:
PHP код:
PHP код:
Действительно, куда залить? По умолчанию после установки сервера вышеописанным способам дефолтный хост ведёт в папку на сервере /var/www/nginx-default. Мы это сможем легко поменять уже через несколько минут. Помните, что контролируется Nginx тремя командами: PHP код:
PHP код:
PHP код:
Также важной частью является первоначальная настройка сервера, откройте файл /etc/nginx/nginx.conf и вставьте в него всё, что находится здесь: PHP код:
А сейчас создадим грамотный лэйаут для наших будущих сайтов. В принципе – абсолютно не важно, где будет лежать ваш сайт, но более-менее стандартным является размещение сайтов в каталоге /home/user/public_html, где user – это пользователь системы с необходимыми правами. (как создать юзера и назначить права почитайте по ссылкам в начале мануала, если вы этого ещё не сделали) Если же юзер только один (а зачастую это только вы), то можно сделать просто PHP код:
PHP код:
Создаём виртуальный хост – файл, который будет указывать домену, где лежит наш сайт. PHP код:
Внимание! Этот конфиг учитывает некоторые особенности Drupal, например, файловую структуру, crone, а также наличие модулей Imagecache, Fckeditor, Backup and Migrate. Если вы используете другие системы, просто удалите или закомментируйте ненужные части конфига, они подписаны. Если же вы ищете в сети решение проблем работы Drupal c Imagecache или Fckeditor, то вы его уже нашли PHP код:
PHP код:
Помните, файл .htaccess под Nginx не работает! Все директивы вставляются в конфигурацию сервера или виртуального хоста! Таким образом, спорная часть это: PHP код:
В конфиге мы попросили Nginx слушать FastCGI на 9000 порту, поэтому – если у вас стоит файрвол, не забудьте открыть этому порту доступ (как и порту 3306 для MySQL) Запуск PHP как FastCGI процесса Я не профессиональный администратор, поэтому ищите в Гугле подробные объяснения тому, что мы сейчас будем делать. Дело в том, что нам необходимо заставить наш сервер работать с PHP, чего он по умолчанию делать вовсе не обязан (в настоящее время в Nginx анонсирована только тестовая поддержка Perl). Поэтому для взаимодействия сервера с языком программирования мы используем специальный протокол, или интерфейс – FastCGI. Это своеобразный мостик для обеспечения взаимопонимания между Nginx и PHP. И сейчас мы будем “учить” их работать вместе. Мы уже устанавливали php5-cgi, если вы помните, теперь нам нужно каким-то образом запускать FastCGI процесс. Есть несколько способов сделать это. Мы будем использовать специальную программку spawn-fcgi, которая до недавнего времени шла в комплекте с другим сервером – Lighttpd. Сейчас она идёт как отдельный проект и расположена по адресу spawn-fcgi - Overview - lighty labs Мы же используем старый проверенный вариант “выдирания” её из Lighttpd. Это даст мне уверенность в том, что это точно будет работать у вас. Чуть позже я изменю эту часть статьи, но только когда сам всё сделаю на практике. Итак PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
Затем берём исходники spawn-fcgi, и кладём их в то место, где им и полагается быть: PHP код:
PHP код:
PHP код:
Строка, которую мы ввели, означает, что каждый раз, когда скрипт будет вызываться, процесс fcgi будет запущен на порту 9000 для пользователя www-data в группе www-data (это дефолтные пользователь и группа, устанавливаемые при первоначальной настройке системы). Нам осталось только разобраться, как запускать этот скрипт при запуске FastCGI. PHP код:
PHP код:
Дальше – у нас ничего не будет работать, пока мы не сделаем два предущие скрипта исполняемыми. Для этого вводим следующее: PHP код:
PHP код:
PHP код:
А для того, чтобы всё работало после перезагрузки набираем: PHP код:
В принципе, это всё! Тестирование, отладка. Установка XCache. Так, давайте проверим, работает ли PHP как fast-cgi процесс: PHP код:
А чтобы проверить, подключён ли PHP к Nginx, создайте файл info.php в веб-директории вашего домена mydomain.com, вставьте туда: PHP код:
А сейчас давайте ускорим исполнение PHP скриптов путём кэширования бинарного кода. Вы можете установить любой акселератор, но я выбираю XCache. Установка XCache: PHP код:
Открываем: PHP код:
В конце файла вставляем: PHP код:
Также здесь вы можете установить логин и пароль для управления скриптом. Если с логином всё понятно, то пароль должен быть зашифрован с помощью md5. Чтобы правильно установить пароль, создайте в веб-директории файл test.php, и поместите в него следующую строку: PHP код:
Чтобы получить доступ к веб-интерфейсу XCache, нам придётся скачать исходники отсюда и достать из них папку xcache/admin/ (всю папку), затем загрузить её в веб-директорию, и зайти в неё со своим логином и паролем, установленным в php.ini. Затем можете наслаждаться тем, как будет летать ваш сервер после установки акселератора. Оригинал статьи тут |
Ответить |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FAQ Веб-мастеру - apache2 + php5 + mysql | Vector | Статьи и FAQ | 11 | 17.05.2012 20:14 |
Инфо Ubuntu Tweak - твикер для Ubuntu | Vector | Софт: Системный | 1 | 20.12.2009 15:27 |
FAQ Установка Ubuntu 8.10 | Vector | Статьи и FAQ | 1 | 09.07.2009 17:55 |