Установка Nginx с PHP5 и поддержкой MySQL в Ubuntu server 10.10

Содержание материала

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

UbuntuNginx является свободным и открытым исходным кодом, служащий для повышения производительности HTTP-сервера. Nginx известен своей стабильностью, богатым набором функций, простой конфигурации, и низкое потребление ресурсов. В этом материале показано, как можно установить Nginx на Ubuntu server 10.10 с поддержкой PHP5 (через PHP-FPM) и поддержкой MySQL.

Предварительные замечания

В данной статье я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти параметры могут отличаться в ваших случаях, поэтому Вам придется заменить их в случае необходимости.

Я выполняю все шаги в этом учебнике с привилегиями супер пользователя, для этого убедитесь, что Вы вошли в систему с правами root:

  • sudo su

Установка MySQL 5.0

Для установки MySQL, мы запускаем:

  • aptitude install mysql-server mysql-client

Вам будет предложено ввести пароль для пользователя MySQL root - это пароль действителен для пользователей root@localhost , а также Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., поэтому мы не обязаны указать пароль администратора MySQL:

Новый пароль для MySQL "root" пользователя: - Ваш пароль пользователя SQL root
Повторите пароль для MySQL "root" пользователя: - Ваш пароль пользователя SQL root

Установка Nginx

Nginx доступна в виде пакета для Ubuntu server 10.10, который мы можем установить следующим образом:

  • aptitude install nginx

Теперь запустим Nginx:

  • /etc/init.d/nginx start

Перейдите по IP-адресу Вашего Web сервера или имени хоста в браузере (например, http://192.168.0.100), и вы увидите следующую страницу:

web-Nginx_01

На Ubuntu server 10.10Вы получите 403 Forbidden ошибку, потому в Nginx по умолчанию корень документов расположены /var/www, и не имеет страницы index в директории /var/www. По умолчанию страница приветствия Nginx находится в /var/www/nginx-default, поэтому вы можете увидеть страницу приветствия, перейдя в http://192.168.0.100/nginx-default/:

web-Nginx_02

Установка PHP5

Мы можем запустить PHP5 в Nginx через PHP-FPM (PHP-FPM (FastCGI Process Manager)) является альтернативой PHP FastCGI реализации с некоторыми дополнительными функциями, полезна для сайтов любого размера, особенно загруженных сайтов). Мы установим его следующим образом:

  • aptitude install php5-fpm

PHP-FPM является процесс-демоном (крипта /etc/init.d/php5-fpm), который запускает FastCGI сервера на порту 9000.


Настройка Nginx

Nginx конфигурация находится в /etc/nginx/nginx.conf, который мы откроем сейчас:

  • nano /etc/nginx/nginx.conf

Первая строка (это не обязательно) увеличение количества рабочих процессов и следующая время их жизни keepalive_timeout в разумных пределах:

[...]
worker_processes  5;
[...]
keepalive_timeout  2;
[...]

Виртуальные хосты определены в контейнере server {}. По умолчанию виртуальный хост, задается в файле /etc/nginx/sites-available/default - давайте изменим его следующим образом:

  • nano /etc/nginx/sites-available/default
[...]
server {

        listen   80; ## listen for ipv4
        listen   [::]:80 default ipv6only=on; ## listen for ipv6

        server_name  _;

        access_log  /var/log/nginx/localhost.access.log;

        location / {
                root   /var/www;
                index  index.php index.html index.htm;
        }

        location /doc {
                root   /usr/share;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

        location /images {
                root   /usr/share;
                autoindex on;
        }

        #error_page  404  /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/nginx-default;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
                #proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
                include fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny  all;
        }
}
[...]

server_name _; делает это все объединяющий виртуальный хост по умолчанию (конечно же, вы можете указать имя хоста, как www.example.com).

На месте index в строках location /, я добавил index.php. root /var/www, означает, что документы root в каталоге /var/www.

Важную роль для PHP выполняют строки location ~ \.php$ {}. Раскомментируйте их, чтобы включить их. Пожалуйста, убедитесь, что Вы изменили fastcgi_param строки на fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;, так как в противном случае интерпретатор PHP не найдет скрипт, который Вы вызываете в Вашем браузере.

Убедитесь, что Есть несколько пробелов между include и fastcgi_params; - в файле по умолчанию это записано как одно слово, которое является ошибкой.

Теперь сохраняем файл и перезагружаем Nginx:

  • /etc/init.d/nginx restart

Теперь создадим файл PHP в root каталоге /var/www:

  • nano /var/www/info.php
<?php
phpinfo();
?>

Теперь мы вызовим этот файл в браузере (например, http://192.168.0.100/info.php):

Ubuntu server 10.10

Как видите, PHP5 работает, и он работает через FPM / FastCGI, как показано в строке Server API. Если Вы прокрутите дальше, то Вы увидите все модули, которые уже включены в PHP5. MySQL не перечисленные в нем, что означает, что у нас еще нет поддержки MySQL в PHP5 .

Запуск поддержкой MySQL в PHP5

Чтобы получить поддержку MySQL в PHP, мы установим пакет php5-MySQL. Для поиска доступных PHP5 модулей которые нам могут понадобятся для работы Web приложений найдем следующим образом:

  • aptitude search php5

Выберите из них нужное Вам, и установить их так:

  • aptitude install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

Теперь перезапустите PHP-FPM:

  • /etc/init.d/php5-fpm restart

Теперь обновите страницу http://192.168.0.100/info.php в вашем браузере и прокрутите снова вниз до раздела модулей. В этот раз Вы должны найти много новых модулях, в том числе модуль MySQL:

Ubuntu server


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.