Показаны различия между двумя версиями страницы.
webserver-nginx-phpfpm [07.01.2012 16:08] vdsadmin@lazutov.ru [Настройка nginx] |
webserver-nginx-phpfpm [02.11.2014 23:49] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | === Сборка php === | ||
- | Прежде всего переходим в папку, куда мы скачаем (http:// | ||
- | < | ||
- | mkdir -p / | ||
- | cd $_ | ||
- | wget http:// | ||
- | tar -xvf p* | ||
- | cd p* | ||
- | </ | ||
- | Далее сконфигурируем php для последующей сборки. Нужные модули мы поставим позже. | ||
- | < | ||
- | ./configure --enable-fpm | ||
- | </ | ||
- | Тут вам скорее не хватит каких-либо библиотек. \\ | ||
- | Это решается очень просто: | ||
- | Например. Вам конфигуратор сообщает об отсутствии libxml2 | ||
- | < | ||
- | #Ищем по пакетам | ||
- | apt-cache search libxml2 | ||
- | # и ставим соответствующий dev-пакет. | ||
- | apt-get install libxml2-dev | ||
- | </ | ||
- | Но, видимо, | ||
- | |||
- | собираем: | ||
- | < | ||
- | make | ||
- | make install | ||
- | </ | ||
- | Скопируем скрипт запуска-остановки и установим права на запуск | ||
- | < | ||
- | cp sapi/ | ||
- | chmod +x / | ||
- | </ | ||
- | Добавим в автозапуск | ||
- | < | ||
- | ==== Настройка спавнера==== | ||
- | Спавнер -- процесс, | ||
- | А теперь настроим планировщик. Его конфигурация находится в файле / | ||
- | Важно: в текущей версии php-fpm не обрабатывает никаких php.ini , а обрабатывает только указанный выше конфиг.\\ | ||
- | О синтаксисе этого файла написано много и хорошо в официальной документации: | ||
- | Предполагаю, | ||
- | < | ||
- | [global] | ||
- | pid = / | ||
- | error_log = / | ||
- | [web] | ||
- | # настройка пула, который я назвал web. Вы можете называть как удобно. | ||
- | php_admin_value[date.timezone] = Europe/ | ||
- | php_admin_flag[cgi.fix_pathinfo] = off | ||
- | # см. ниже. | ||
- | |||
- | listen = 127.0.1.1: | ||
- | # запомните адрес, на который мы вешаем спавнер | ||
- | |||
- | user = web | ||
- | group = web | ||
- | |||
- | |||
- | pm = dynamic | ||
- | pm.max_children = 50 | ||
- | pm.start_servers = 3 | ||
- | pm.min_spare_servers = 3 | ||
- | pm.max_spare_servers = 10 | ||
- | pm.max_requests = 500 | ||
- | |||
- | # пример управления логированием | ||
- | access.log = / | ||
- | access.format = %R - %u %t "%m %r%Q%q" | ||
- | php_flag[display_errors] = on | ||
- | php_admin_value[error_log] = / | ||
- | php_admin_flag[log_errors] = on | ||
- | # пример изменения других опций | ||
- | php_admin_flag[memory_limit] = 32M | ||
- | </ | ||
- | Всё. Перезапускаем спавнер '' | ||
- | Вы должны увидеть что-то похожее на | ||
- | < | ||
- | tcp 0 0 127.0.1.1: | ||
- | </ | ||
- | |||
- | ==== cgi.fix_pathinfo ==== | ||
- | cgi.fix_pathinfo | ||
- | Например: | ||
- | Но представим себе ситуацию, | ||
- | При запросе / | ||
- | Мораль. Всегда проверяйте это значение. оно должно быть выключено (off/ | ||
- | |||
- | ==== Настройка nginx==== | ||
- | Тут всё стандартно (взято с офсайта nginx): а файле / | ||
- | < | ||
- | server { | ||
- | listen | ||
- | server_name | ||
- | # _ - сервер по-умолчанию. Исправьте на свой или если он у вас один на этом порту, используйте его | ||
- | |||
- | access_log | ||
- | root / | ||
- | |||
- | location / { | ||
- | index index.php index.html index.htm; | ||
- | } | ||
- | |||
- | error_page | ||
- | |||
- | location = /50x.html { | ||
- | root / | ||
- | } | ||
- | # вот это наш блок. Убедитесь, | ||
- | location ~ \.php$ { | ||
- | fastcgi_pass | ||
- | fastcgi_index | ||
- | include | ||
- | fastcgi_param | ||
- | |||
- | } | ||
- | location ~ /\.ht { | ||
- | deny all; | ||
- | } | ||
- | }</ | ||
- | Помещаем в index.php стандарнтный скрипт ''<? | ||
- | < | ||
- | update-rc.d nginx defaults | ||
- | service nginx restart | ||
- | </ | ||
- | |||
- | Всё. Настройка завершена. | ||
- | |||
- | ==== Сборка модулей php. phpize | ||
- | Помните, | ||
- | Допустим, | ||
- | < | ||
- | phpize | ||
- | make | ||
- | make install | ||
- | </ | ||
- | Всё. Библиотека собрана установлена. | ||
- | Для вступления в силу изменений скорее всего потребуется перезапуск спавнера. |