Пример настройки nginx'a.
server {
# Слушаем 80 порт.
listen 80;
# Указываем корневой каталог для запросов.
root /var/www/public;
# Указываем индексные файлы.
index index.php index.html;
# Определяем конфигурация для корня.
location / {
# Проверяем на существование файлы и используем для обработки если они найдены.
try_files $uri $uri/ /index.php$args;
}
# Определяем конфигурацию для PHP-скриптов через регулярное выражение.
location ~ \.php$ {
# Парсим переменную $fastcgi_path_info для получения $fastcgi_script_name и $fastcgi_path_info.
fastcgi_split_path_info ^(.+\.php)(/.*)$;
# Указываем адрес FastCGI-сервера. В данном случае "php" это наименование веб-сервера в docker-compose.yml,
# вместо него обычно указывают IP-адрес или домен, например: localhost:9000.
fastcgi_pass php:9000;
# Указываем индексный файл.
fastcgi_index index.php;
# Активируем настройку fastcgi_params.
include fastcgi_params;
# Указываем наименование скрипта.
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Указываем информацию об указанном пути (который в URL).
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Полезные ссылки
- Официальный сайт (http://nginx.org/);
- Официальные примеры (https://www.nginx.com/resources/wiki/start/topics/examples/full/);
- Модуль ngx_http_core_module (https://nginx.org/ru/docs/http/ngx_http_core_module.html);
- Модуль ngx_http_fastcgi_module (http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html);
- Пример конфигурации с официального сайта (http://nginx.org/ru/docs/example.html);
- Руководство для начинающих (https://nginx.org/ru/docs/beginners_guide.html);
- Настройка веб-сервера Nginx (https://itproffi.ru/nastrojka-veb-servera-nginx/);
- Правильная конфигурация Nginx (https://ruhighload.com/Правильная+конфигурация+nginx);
- Уязвимость php-fpm, позволяющая удалённо выполнить код на сервере (https://www.opennet.ru/opennews/art.shtml?num=51749).
Комментарии (0)