Научная статья на тему 'НАСТРОЙКА РЕЖИМА РАБОТЫ PHP КАК PHP-FPM'

НАСТРОЙКА РЕЖИМА РАБОТЫ PHP КАК PHP-FPM Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
93
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
PHP / PHP-FPM / NGINX / APACHE / FASTCGI / ROOT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Самокиш А.В.

В данной статье рассматривается настройка режима работы PHP как PHP-FPM. Описаны основные директивы и этапы настройки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CONFIGURING THE OPERATING MODE OF PHP AS PHP-FPM

This article discusses how to configure the PHP operating mode as PHP-FPM. Describe the basic guidelines and stages of customization.

Текст научной работы на тему «НАСТРОЙКА РЕЖИМА РАБОТЫ PHP КАК PHP-FPM»

УДК 004.45

Самокиш А.В. студент 4 курса

факультет информационных систем и технологий Поволжский Государственный Университет Телекоммуникаций и Информатики

Россия, г. Самара

Samokish A. V. 4 year student Faculty of Information Systems and Technologies Volga State University of Telecommunications and Informatics

Russia, Samara city НАСТРОЙКА РЕЖИМА РАБОТЫ PHP КАК PHP-FPM Аннотация

В данной статье рассматривается настройка режима работы PHP как PHP-FPM. Описаны основные директивы и этапы настройки.

Ключевые слова: PHP, PHP-FPM, Nginx, Apache, FastCGI, root.

CONFIGURING THE OPERATING MODE OF PHP AS PHP-FPM Annotation

This article discusses how to configure the PHP operating mode as PHP-FPM. Describe the basic guidelines and stages of customization. Keywords: PHP, PHP-FPM, Nginx, Apache, FastCGI, root.

FastCGI Process Manager, "Менеджер процессов FastCGI". Это альтернативная реализация FastCGI режима в PHP с несколькими дополнительными возможностями, которые обычно используются для высоконагруженных сайтов.

Изначально PHP-FPM представлял собой набор патчей, устранявших ряд проблем, мешающих полноценно использовать PHP в режиме FastCGI. С версии PHP 5.3 набор патчей включён в ядро, а дополнительные возможности PHP-FPM включаются флагом при компиляции.

PHP-FPM используется в основном в связке с Nginx, без установки Apache.

Приступим к настройке PHP-FPM(Nginx) для третьего сайта.

Для начала установим php-fpm:

[root@testserver www]# yum install php-fpm

После чего произведем его запуск:

[root@testserver www]# service php-fpm start

Starting php-fpm: [ OK ]

Отключаем веб-сервер Apache, т.к. в данный момент оба веб-сервера(Apache и Nginx) используют для своей работы порт 80. [root@testserver www]# service httpd stop

Stopping httpd: [ OK ]

Запускаем Nginx и убеждаемся, что apache освободил порт 80: [root@testserver www]# service nginx start Starting nginx: [ OK ]

В директории с конфигурационными файлами Nginx (/etc/nginx/conf.d/) создадим конфигурационный файл для третьего сайта sub2.site1.ru.conf, который будет содержать директивы: server {

server_name sub2.site1.ru;

access_log /var/log/nginx/sub2.site1 .ru-access.log; error_log /var/log/nginx/sub2.site1.ru-error.log; root /var/www/www-root/data/www/sub2.site1.ru; location / {

index index.html index.htm index.php;

try_files $uri $uri/ /index.php?q=$uri&$args; }

location ~ .php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/www-

root/data/www/ sub2. site1.ru$fastcgi_script_name; }

}

Описание некоторых используемых директив:

- server_name - эта директива определяет имя хоста.

- root - данная директива устанавливает каталог, где находятся файлы сайта для обработки ^тх(аналогична DocumentRoot).

- fastcgi_index - задаёт имя файла, который при создании переменной $fastcgi_script_name будет добавляться после URI, если URI заканчивается слэшем.

- fastcgi_pass - задаёт адрес FastCGI-сервера. Адрес может быть указан в виде доменного имени или IP-адреса и порта.

- fastcgi_param - задает параметр, который будет передаваться FastCGI-серверу. В качестве значения можно использовать текст, переменные и их комбинации. Директивы наследуются с предыдущего уровня при условии, что на данном уровне не описаны свои директивы fastcgi_param.

В файле конфигурации Nginx (/etc/nginx/nginx.conf) раскомментируем строку "include /ete/nginx/conf.d/*.conf;", чтобы подключить созданный файл конфигурации sub2.site1.ru.conf. Перезапускам Nginx:

[root@testserver www]# service nginx restart Stopping nginx: [ OK ]

Starting nginx: [ OK ]

Проверим результат проведенной работы:

PHP Version 5.3.3

System Linux testserver.ru 2.6.32-042stabl23.2 #1 SMP Men Apr 17 17:27:00 MSK 2017 X86 64

Build Date Mar 22 2017 12:23:01

Config u re Comm and './configure' '—bLilld = x36 64-redhat-linux-gnu' '—host=x06 64-redhat-llnux-gnu' '—1target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/u5r' '—exec-prefix =/usr' '—blndir=/usr/bin' '—sbindir=/usr/sbin' '—sysconfdir=/etc' '—datadir=Aisr/share' '—includedir—/usr/include '—Iibdir=/usr/lib64' '—I i b ex ec d i r=/u sr/l ibexec' '—local stated i r=/va r' 1 —sh a red st ated i r=/va r/l i b1 '—mandir=Aisr/share/man' '—¡nfodir=/usr/sh a re/info' '—cache-file=../config.cache' '—with-llbdir=lib64' '—wlth-config-file-path=/etc' '—with-config-file-scan-dir=/etc/php.d' '—disable-debug' '— with-pic' '-disable-rpath' '—without-pear1 '—with-bz2" '—with-exec-dir=/Lisr/bln' '—with-freetype-dir=/usr' '—w it h -p n g -d i r=/u sr' ' - w ¡t h-x p m -d i r=/u sr' '—enable-gd-nat v/e-ttf' '—without-gdbm' '—with-gettext' '—with-gmp' '—with-icon v' '—■with-jpeg-dir=/usr1 '—with-openssl' '—with-pcre-regex=/usr' '— with-zlib' '—with-layout—GNU' '— enable-exif' '—enable-ftp' '—enable-magic-quotes' '—enable-sackets' '—enable-sysvsem' '—enable-sysvshm' '—enable-sysvmsg' '—wlth-kerheros' '—enable-u cd-snmp-hack' '—enable-shmop' '—enable-calendar' '—with out-sq lite' ■—with-libxml-dir=/usr' ■—enable-xml '—with-system-tzdata' '— enable-fpm' '—with Quint ysql '—without-gd' '—disable-dom' '—disable-dba' '—without-unixODBC '—disable-pdo' '—disable-xmlreader' '— disable-xmlwriter1 '— without-sqlite3' '—disable-phar' '—disable-fileinfo' '—disable-json' '—without-pspell' '—disable-wddx' '—without-curl' '—disable-posix' '—disable-sysvmsg' '—disabie-sysvshm' '—disable-sysvsem'

Server API FPM/FastCGI

Virtual Directory Su pport disabled

Con fig u ration File (php.ini) Path /etc

Loaded Config u ration File /etc/php.ini

Scan this dir for additional .ini files /etc/php. d

Additional .ini files parsed /etc/php.d/curl.inl, /etc/php.d/fileinfo.lnlr /etc/php.d/json.ini, /etc/php.d /mysql.ini, /etc/php.d/mysqli.ini, /etc/php.dl/pdo.Ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo sqllte.ini, /etc/php.d/phar.ini, /etc/php.d/sqlite3.ini, /etc/php.d /zip.in!

PHP API 20090626

PHP Extension 20090626

Zend Extension 220090626

Рис. 1 - Конфигурация PHP(PHP-FPM) Значение FPM/FastCGI в строке Server API указывает на то, что сайт в текущий момент работает в режиме модуля PHP-FPM(Nginx FastCGI).

Использованные источники:

1. Хоккинс, С. Администрирование Web-сервера Apache и руководство по электронной коммерции - Вильямс, 2000. - 330 с.

2. Айвалиотис, Д. Администрирование сервера Nginx - ДМК Пресс, 2013. -288 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.