Nginx php fpm php freebsd

Установка nginx + php-fpm + memcache + eaccelerator на FreeBSD

Зачем всё это? — спросите вы. Да просто захотелось поделиться с общественностью некоторым опытом, полученным в процессе оптимизации vds под нужды одного общеизвестного блого-социального движка, который на обычном хостинге чувствует себя, мягко скажем, некомфортно.

Началось всё с того, что я ушёл от firstvds, где уже ничто не спасёт от тормозов. Ушел на ганди.нет, взял одну шару (1 share), которую дали на месяц бесплатно. Кстати, акция эта (This summer, your server is free!) вроде еще не закончилась. 😉 И начал на этой шаре проводить зверские эксперименты с установкой разного ПО. Тестировал результаты с помощью siege.

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

Перво-наперво обновляем дерево портов, если давно этого не делали. А если никогда не делали, то без этого дальше никуда:

NGINX

Добавляем строку ‘nginx_enable=«YES»’ в файл ‘/etc/rc.conf’.

  • Конфиг: /usr/local/etc/nginx/nginx.conf
  • Порты http / https: 80 / 443
  • Логи ошибок: /var/log/nginx-error.log
  • Логи доступа: /var/log/nginx-access.log
  • Коневая папка: /usr/local/www/nginx/

PHP-FPM

Поддержка PHP в FreeBSD построена по модульному принципу, поэтому базовая установка обладает ограниченной функциональностью. Дополнительные расширения могут быть легко добавлены при помощи порта php5-extensions. Установим расширения, которые нам необходимы (например, mbstring, gd, mysql. ):

Далее ставим патч php-fpm. В портах freebsd этот патч отсутствует, но это не беда. Предлагаю всё-таки поставить его через порт, а не собрать из исходников. Скачиваем порт для FreeBSD с сайта php-fpm.org и распаковываем в директорию портов по-умолчанию, откуда и устанавливаем:

# fetch php-fpm.anight.org/downloads/freebsd-port/php-5.2.10-fpm-0.5.13.tar.gz
# tar -xvf php-5.2.10-fpm-0.5.13.tar.gz -C /usr/ports/lang/
# cd /usr/ports/lang/php5-fpm
# make install clean

Добавляем строку ‘php_fpm_enable=”YES»‘ в файл ‘/etc/rc.conf’.

Дружим NGINX и PHP

Заходим в кофиг нашего http-сервера. По-умолчанию он находится здесь ‘/usr/local/etc/nginx/nginx.conf’. Стираем всё. Для начала конфиг будет такой с минимумом настроек:

events worker_connections 1024;
>

http include mime.types;
default_type application/octet-stream;

server listen 80;
server_name localhost;

location / root /usr/local/www/nginx;
index index.php index.html index.htm;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html root /usr/local/www/nginx-dist;
>

location ~ \.php$ fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
include fastcgi_params;
>
>
>

Детальное описание настроек конфигурационного файла можно найти тут и тут, поэтому подробно останавливаться не буду. Давеча вышла статья на Хабре про настройку nginx — рекомендую к просмотру.

Далее редактируем конфигурацию php-fpm. По-дефолту он лежит тут ‘/usr/local/etc/php-fpm.conf’. Находим в файле строки:

Тем самым указав пользователя и группу, под которыми будет крутиться php. Подробное описание этих и других настроек php-fpm есть на официальном сайте на русском языке.

MEMCACHE

EACCELERATOR

РЕЗУЛЬТАТ

Пришло время проверить, получилось ли у нас что-нибудь. 🙂 Создаем файл ‘/usr/local/www/nginx/info.php’ c содержимым «». И смотрим результат в браузере: httр://ваш-домен/info.рhр — должно быть как-то так:

За рамки данной заметки вышли: установка mysql (ставится так же просто, как и всё остальное из портов) и куча различных настроек, читай тюнинга, всего этого великолепия. Но это огромный материал, который регулярно освещается на Хабре в той или иной мере по частям. Есть ли смысл собирать тюнинг всей связки в одной статье — пока не знаю. Спасибо за внимание. Мой первый топик здесь за два года присутствия. 🙂

Источник

Установка nginx + php-fpm + memcache + eaccelerator на FreeBSD

Зачем всё это? — спросите вы. Да просто захотелось поделиться с общественностью некоторым опытом, полученным в процессе оптимизации vds под нужды одного общеизвестного блого-социального движка, который на обычном хостинге чувствует себя, мягко скажем, некомфортно.

Началось всё с того, что я ушёл от firstvds, где уже ничто не спасёт от тормозов. Ушел на ганди.нет, взял одну шару (1 share), которую дали на месяц бесплатно. Кстати, акция эта (This summer, your server is free!) вроде еще не закончилась. 😉 И начал на этой шаре проводить зверские эксперименты с установкой разного ПО. Тестировал результаты с помощью siege.

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

Перво-наперво обновляем дерево портов, если давно этого не делали. А если никогда не делали, то без этого дальше никуда:

NGINX

Добавляем строку ‘nginx_enable=«YES»’ в файл ‘/etc/rc.conf’.

  • Конфиг: /usr/local/etc/nginx/nginx.conf
  • Порты http / https: 80 / 443
  • Логи ошибок: /var/log/nginx-error.log
  • Логи доступа: /var/log/nginx-access.log
  • Коневая папка: /usr/local/www/nginx/

PHP-FPM

Поддержка PHP в FreeBSD построена по модульному принципу, поэтому базовая установка обладает ограниченной функциональностью. Дополнительные расширения могут быть легко добавлены при помощи порта php5-extensions. Установим расширения, которые нам необходимы (например, mbstring, gd, mysql. ):

Далее ставим патч php-fpm. В портах freebsd этот патч отсутствует, но это не беда. Предлагаю всё-таки поставить его через порт, а не собрать из исходников. Скачиваем порт для FreeBSD с сайта php-fpm.org и распаковываем в директорию портов по-умолчанию, откуда и устанавливаем:

# fetch php-fpm.anight.org/downloads/freebsd-port/php-5.2.10-fpm-0.5.13.tar.gz
# tar -xvf php-5.2.10-fpm-0.5.13.tar.gz -C /usr/ports/lang/
# cd /usr/ports/lang/php5-fpm
# make install clean

Добавляем строку ‘php_fpm_enable=”YES»‘ в файл ‘/etc/rc.conf’.

Дружим NGINX и PHP

Заходим в кофиг нашего http-сервера. По-умолчанию он находится здесь ‘/usr/local/etc/nginx/nginx.conf’. Стираем всё. Для начала конфиг будет такой с минимумом настроек:

events worker_connections 1024;
>

http include mime.types;
default_type application/octet-stream;

server listen 80;
server_name localhost;

location / root /usr/local/www/nginx;
index index.php index.html index.htm;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html root /usr/local/www/nginx-dist;
>

location ~ \.php$ fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
include fastcgi_params;
>
>
>

Детальное описание настроек конфигурационного файла можно найти тут и тут, поэтому подробно останавливаться не буду. Давеча вышла статья на Хабре про настройку nginx — рекомендую к просмотру.

Далее редактируем конфигурацию php-fpm. По-дефолту он лежит тут ‘/usr/local/etc/php-fpm.conf’. Находим в файле строки:

Тем самым указав пользователя и группу, под которыми будет крутиться php. Подробное описание этих и других настроек php-fpm есть на официальном сайте на русском языке.

MEMCACHE

EACCELERATOR

РЕЗУЛЬТАТ

Пришло время проверить, получилось ли у нас что-нибудь. 🙂 Создаем файл ‘/usr/local/www/nginx/info.php’ c содержимым «». И смотрим результат в браузере: httр://ваш-домен/info.рhр — должно быть как-то так:

За рамки данной заметки вышли: установка mysql (ставится так же просто, как и всё остальное из портов) и куча различных настроек, читай тюнинга, всего этого великолепия. Но это огромный материал, который регулярно освещается на Хабре в той или иной мере по частям. Есть ли смысл собирать тюнинг всей связки в одной статье — пока не знаю. Спасибо за внимание. Мой первый топик здесь за два года присутствия. 🙂

Источник

Читайте также:  Объекты в ооп питон
Оцените статью