Привет всем. Заранее извиняюсь за простыню, но решил написать вопрос

заранее и сразу, чтобы потом не писать кучу рассказов что и как я сделал до того как задал вопрос.
Имеется такой вопрос. Пытаюсь настроить nginx для работы с php-проектом, до этого работавшем на apache, в котором был такой конфиг (использовался .htaccess):

RewriteCond %{REQUEST_URI} !some_public
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ some_public/$1 [L]

Идея данного конфига бал в том, что файлы изначально искались в текущем (и глубже) каталоге (document_root), а затем в каталоге some_public (и глубже).
Сайтов с таким конфигом много, каталог some_public является симлинком на общийй каталог со скриптами php, реализующими основу движка всех сайтов.
Т.е. "по дефолту" сайты работают без единого файла в локальном каталоге, но если туда положить любой файл с таким именем как в каталоге some_public, то возьмется сначала он, позволяя таким образом плавно уходить от "скелета" сайта к все большей кастомизации.

Начиная с какого-то момента пришел к выводу что "скрипач не нужен" (в смысле апач) и решено было полностью перейти на nginx (который кстати используется сейчас в проекте в качестве фронта и кеша).
Для попытки (!) такого перехода был собран такой вот конфиг nginx-а:

server {
listen 8.8.8.8:80;
server_name .example.com;
root /www/some/example.com/public;

location / {
index /some_public/index.php;
#index /index.php;
include conf.d/php-fpm.inc;
try_files $uri $uri/ /some_public$document_uri =404;
}

}

файл php-fpm.inc:

location ~* \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
try_files $uri $uri/ /some_public$document_uri =404;
}

И вроде бы навскидку оно даже заработало. Файлы отдаются как надо (и в нужной последовательности благодаря try_files), но возникла проблема с индексными index.php, лежащими в НЕкорневых папках (а они тоже нужны, причем в каждой папке - свои).
Т.е. index.php из корня хорошо проходит благодаря директиве "index /some_public/index.php", если написать index.php, то не работает (404 на морде), все благодаря =404 в try_files, но там убирать =404 тоже нельзя, тогда .php начинает обрбатываться первым location и просто отдавается исходный код php-скриптов.
В общем такая каша получается как замок из спичек, одну задел - все посыпалось. Апачевские конфиги конечно же проще курить, но апач - это бронетанк, который тут не вписывается по своей монструозности.

Может быть тут есть гуру конфигов нгинкса? Посоветуйте как решить вышеописанную задачу. На крайний случай, пошлите меня в мануалы (только не в доку по нгинксу, я ее прочитал, легче не стало :) ).
Читал некоторые статьи (хабр и пр.), очень много хороших статей и даже с примерами, но все они описывают немножко другие кейзы.

1 ответов

14 просмотров

Проблема только в индекс файлах ?

Похожие вопросы

Обсуждают сегодня

Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Коллеги, приветствую! Появилась не совсем тривиальная задача реализовать в nginx редирект HTTPS —> HTTP. Да, именно так, а не наоборот. Мы разрабатываем embedded устройство,...
Никита
24
Карта сайта