Главная
Главная Руководства FreeBSD › Настройка связки nginx и php-fpm в FreeBSD



Автор:

Статья опубликована: 2018-09-27 20:32:05
Последние правки: 2018-09-28 09:24:31

Настраиваем nginx для работы с php-fpm. Настраиваем пул php-fpm.

  • nginx

    Данный блок необходимо добавить в блок server { .. } сайта, для которого нужна работа с php-файлами:
    location ~ \.php$ {
    	# если пул php-fpm работает через socket
    	fastcgi_pass   unix:/tmp/php-fpm.sock;
    	# если пул pfp-fpm работает через ip
    	fastcgi_index index.php;
    
    	fastcgi_param DOCUMENT_ROOT /sites/site1/www/;
    	fastcgi_param SCRIPT_FILENAME /sites/site1/www$fastcgi_script_name;
    	include fastcgi_params;
    }
    <br>
    

  • php-fpm

    Конфигурации пулов хранятся в директории /usr/local/etc/php-fpm.d. Изначально там есть файл www.conf. В нем нас интересуют следующие строчки:
    # если надо, чтобы пул работал через ip
    listen = 127.0.0.1:9000
    # если надо, чтобы пул работал через unix socket
    listen = /tmp/php-fpm.sock
    listen.owner = www
    listen.group = www
    listen.mode = 0660
    
    # количество потоков, которые обслуживают запросы
    pm.max_children = 5
    # сколько запросов выполнит поток, прежде чем будет завершен
    # рекомендуется задавать значение в целях профилактики утечек памяти
    pm.max_requests = 500
    
    Проверка правильности синтаксиса конфига php-fpm:
    # php-fpm -t
    [xxx-ooo-xxxx xx:xx:xx] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful
    
    Перезапуск php-fpm после изменения настроек:
    # /usr/local/etc/rc.d/php-fpm restart
    

  • Проверка

    В корень сайта помещаем файл info.php с следующим содержимым:
    <?php
    phpinfo();
    ?>
    
    и смотрим этот файл через браузер.