gladilov.org.ru gladilov.org.ua

Установка и настройка Nginx + PHP в режиме FastCGI [Debian 9]

Начал новую линейку заметок по теме обучения на системного администратора. Учусь не я, а моя жена, хотя и я тоже многое оттуда воспринял (на самом деле нет ;-). Это не конспекты лекций, не пошаговые руководства, а просто заметки на память, чтобы ей легче было повторять пройденный материал. Помечаться будут тегом ’учёба’ и в начале страницы будет стоять маленький логотипчик . В квадратных скобках указывается ОС, в которой производились настройки/тесты/манипуляции.

Итак, первая заметка.

Показать


 Поставить  nginx и  PHP.

sudo apt-get install nginx php-fpm

В файле */etc/nginx/nginx.conf* убрать коментарий в строке

multi_accept on

и дописать index.php в определении индексных файлов

index index.php index.html index.htm index.nginx-debian.html;

В файле */etc/nginx/sites-available/default* изменить путь к индексному файлу

root /var/www/html/site1

и разрешить FPM, убрав коментарий

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

Также запретить доступ к файлам, имя которых начинается с префикса .ht

location ~ /\.ht {
deny all;
}

Создать индексный файл сайта

sudo mkdir -p /var/www/html/site1
sudo touch /var/www/html/site1/index.php
sudo echo "<?php phpinfo(); ?>" > /var/www/html/site1/index.php

В файле */etc/php/7.0/fpm/php.ini* исправить значения в строках

memory_limit = 256M
default_socket_timeout = 360

и раскомментировать строки

;user_agent="PHP"
;cgi.fix_pathinfo=1

Отключить уязвимость, поставив значение 0:

cgi.fix_pathinfo=0

Затем перегружаем nginx (любым способом)

systemctl reload nginx
nginx -s reload


Задача решена

Популярное
Наверх