Відмінності між версіями «Php-fpm»

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
 
Рядок 2: Рядок 2:
  
 
== Підготовка  ==
 
== Підготовка  ==
−
Необхідні пакети можна взяти тут ftp://centos.alt.ru/pub/php-fpm/
+
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
 +
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
 +
dnf module list php
 +
dnf module enable php:remi-7.4
 +
 
 +
yum install php php-cli php-fpm  
 +
yum install php-mbstring php-opcache php-sodium php-xml php-gd php-pear php-pecl-apcu php-mysqlnd php-json php-intl php-pdo ImageMagick php-curl
 +
 
 +
setfacl -m u:apache:rwx /var/lib/php/opcache
 +
setfacl -m u:apache:rwx /var/lib/php/session
 +
setfacl -m u:apache:rwx /var/lib/php/wsdlcache
  
 
== Налаштування php-fpm.conf ==
 
== Налаштування php-fpm.conf ==

Поточна версія на 09:31, 16 лютого 2021

Замітка розрахована на тих, хто хоче вижати максимум продуктивності для своєї конфігурації. Також вона буде корисна і власникам VPS, обмежені ресурси яких роблять традиційну зв'язку apache + php ще менш придатною до використання. Описувана у статті конфігурація побудована на CentOS 5.4

Підготовка

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module list php
dnf module enable php:remi-7.4
yum install php php-cli php-fpm 
yum install php-mbstring php-opcache php-sodium php-xml php-gd php-pear php-pecl-apcu php-mysqlnd php-json php-intl php-pdo ImageMagick php-curl 

setfacl -m u:apache:rwx /var/lib/php/opcache setfacl -m u:apache:rwx /var/lib/php/session setfacl -m u:apache:rwx /var/lib/php/wsdlcache

Налаштування php-fpm.conf

(змінюємо відповідні входження)

<value name="listen_address">/var/run/php-fpm</value>
<value name="owner">nginx</value>
<value name="group">nginx</value>

Налаштування nginx

server {
listen 80;
server_name test; 
access_log /var/log/test.log;
error_log /var/log/test-access.log;
include fastcgi_params;

# Корінь де буде лежати сайт
root /srv/www/test/htdocs;

# Всю статику віддаємо nginx 
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|bmp|swf)$ {
    root /srv/www/zg/htdocs;
}

# Перенаправлення всіх запитів на index.php
if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
}

# корінь сайту 
location / {
    root /srv/www/zg/htdocs;
    index index index.html index.htm index.php;
}

# Передача файлів .php на інтерфейс fastCGI (php-fpm) 
location ~ \.php$ {
    fastcgi_pass unix:/var/run/php-fpm;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /srv/www/test/htdocs$fastcgi_script_name;
    include fastcgi_params;
}
}

Запуск сервісів

service nginx start
service php-fpm start