Установка и настройка 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