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

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
(Created page with 'Замітка розрахована на тих, хто хоче вижати максимум продуктивності для своєї конфігурації. Тако...')
 
 
(Не показані 8 проміжних версій ще одного користувача)
Рядок 1: Рядок 1:
 
Замітка розрахована на тих, хто хоче вижати максимум продуктивності для своєї конфігурації. Також вона буде корисна і власникам VPS, обмежені ресурси яких роблять традиційну зв'язку apache + php ще менш придатною до використання. Описувана у статті конфігурація побудована на CentOS 5.4  
 
Замітка розрахована на тих, хто хоче вижати максимум продуктивності для своєї конфігурації. Також вона буде корисна і власникам 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
  
−
Необхідні пакети можна взяти тут ftp://centos.alt.ru/pub/php-fpm/
+
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
  
−
Налаштування php-fpm.conf (змінюємо відповідні входження)<br>
+
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 ==
 +
(змінюємо відповідні входження)<br>
 
<pre>&lt;value name="listen_address"&gt;/var/run/php-fpm&lt;/value&gt;
 
<pre>&lt;value name="listen_address"&gt;/var/run/php-fpm&lt;/value&gt;
 
&lt;value name="owner"&gt;nginx&lt;/value&gt;
 
&lt;value name="owner"&gt;nginx&lt;/value&gt;
 
&lt;value name="group"&gt;nginx&lt;/value&gt;</pre>
 
&lt;value name="group"&gt;nginx&lt;/value&gt;</pre>
−
Налаштування nginx<br>
 
−
<pre>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)
+
== Налаштування nginx ==
−
'''location ~ \.php$ {
+
server {
−
fastcgi_pass unix:/var/run/php-fpm;
+
listen 80;
−
fastcgi_index index.php;
+
'''server_name test; '''
−
fastcgi_param SCRIPT_FILENAME /srv/www/test/htdocs$fastcgi_script_name;
+
access_log /var/log/test.log;
−
include fastcgi_params;
+
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;
 +
}
 +
}
  
−
</pre>
+
== Запуск сервісів ==
−
<br>
+
service nginx start
 +
service php-fpm start

Поточна версія на 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