3.

Для того, чтобы вышеописанные настройки работали правильно, создадим файл соккета (по идее, он должен создасться сам при первом дергании php-fpm, но мы все же создадим его на всякий случай):

 

touch /www/php-fpm.sock

# назначим правильные права

chown nginx:nginx /www/php-fpm.sock

chmod 600 /www/php-fpm.sock

Далее создадим директорию для PHP сессий и назначим ей правильные права:

 

mkdir /www/php-fpm-session

chown -R nginx:nginx /www/php-fpm-session

chmod -R 777 /www/php-fpm-session

Правим /etc/php.ini как вам угодно, но обязательно меняем значение 1 на 0 в строке:

 

cgi.fix_pathinfo = 0;

В своем php.ini я также установил временную зону:

 

date.timezone = Europe/Kiev

Пробуем запустить PHP-FPM и добавим в автозагрузку:

 

systemctl start php-fpm

systemctl enable php-fpm

P.S. для того чтобы перезапустить севрис PHP-FPM выполните команду:

 

systemctl restart php-fpm

Если все прошло успешно — радуемся, если нет — ищем ответы в гугле, или пишем комментарии сюда :), чем смогу тем помогу.

 

Для того, чтобы проверить, что у нас PHP работает как надо, раскоментируем (или добавим, если их там нет) строки в файле /etc/nginx/conf.d/test.com:

 

# cекция "location / {"

# Default location settings

location / {

index index.html index.htm index.php;

try_files $uri $uri/ /index.php?$args;

rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last;

rewrite ^/(+?)-sitemap(+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;

}

# секция location ~ \.php$ {

location ~ \.php$ {

# Prevent Zero-day exploit

try_files $uri =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

fastcgi_pass    unix:/www/php-fpm.sock;

fastcgi_index   index.php;

fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;

include         /etc/nginx/fastcgi_params;

}

и скормим последние изменения в nginx без перезапуска самого nginx:

 

nginx -s reload

А также создадим файл /www/test.com/public/index.php с таким вот содержимым:

 

<?php phpinfo(); ?>

Заходим из браузера по адресу test.com. Понятно, что доменное имя может быть каким угодно, каким вы его настроили, а если же у вас нет никакого доменного имени, то вы можете просто прописать DNS алиасы в своем hosts файле. Как настроить hosts в своей системе — ищите в гугле, или комментарий ниже.

Источник: https://tehnikaarenda.ru/pc/nginx-php-fpm-na-centos-7.html

  • 0 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?

İlgili diğer dökümanlar

0. Установка и настройка PHP 7.4 на CentOS 7 в связке с Nginx

Тут показана кастомная установка NGINX v1.23 на Centos7 c поддержкой ряда интересных модулей....

1. NGINX и перевод php-fpm74 на unix socket в Сentos 7

Оговорю сразу, что настравивать php-fpm мы будем через unix сокеты (unix://socket). Есть...

2. Nginx и php-fpm на socket в Сentos 7

Теперь нам нужно подключить использование PHP-FPM для обработки запросов к PHP-файлов в Nginx....