LINUX.ORG.RU

Проблема с настройкой php-fpm для нескольких root дерикторий на Nginx.

 , ,


0

1

Не получается настроить php-fpm для на несколько root директорий.

Если через основную директорию заходить и просматривать находящиеся в ней директории с файлами php, то нормально отображает php файлы. Если через alias /work, то в директорию work норм заходит, но вот при попытке открыть находящиеся в ней проекты с PHP файлом отображает 404 ошибку. Настройка sites-available:

server { listen 80 default_server; listen [::]:80 default_server; root /home/oleg/PHPstorm_Projects; index index.php index.html index.htm; server_name _;

location / {
   auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;
    try_files $uri $uri/ =404;
autoindex on;
      autoindex_localtime on;
      autoindex_exact_size off;
}

location /work {
   alias /home/oleg/WorkProjects;
   auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;
    try_files $uri $uri/ =404;
    autoindex on;
      autoindex_localtime on;
      autoindex_exact_size off;

}

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

}

а это настройка snippets/fastcgi-php.conf:

regex to split $uri to $fastcgi_script_name and $fastcgi_path

#fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_split_path_info ^(.+?.php)(/.*)?$;

Check that the PHP script exists before passing it

try_files $fastcgi_script_name =404;

Bypass the fact that try_files resets $fastcgi_path_info

see: http://trac.nginx.org/nginx/ticket/321

set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; include fastcgi.conf;

Оберни нормально в разметку

[url=https://www.linux.org.ru/help/lorcode.md]LORCODE[/url] или [url=https://www.linux.org.ru/help/markdown.md]Markdown[/url]

Читать ОП невозможно.

Twissel ★★★★★ ()
Ответ на: комментарий от Twissel

Оберни нормально в разметку

[url=https://www.linux.org.ru/help/lorcode.md]LORCODE[/url] или [url=https://www.linux.org.ru/help/markdown.md]Markdown[/url]

кхм

anonymous ()

Если через основную директорию заходить и просматривать находящиеся в ней директории с файлами php

Чего? Какие директории в каких директориях? Что пишет нгинкс в логах.

anonymous ()
Ответ на: комментарий от Twissel

ну на самом деле для меня вполне норм — из-за особенностей работы вполне сносно читаю выхлоп в любой разметке. А вот распарсить 2-3 предложение из темы чет особо не могу

anonymous ()
Ответ на: комментарий от anonymous

Чувак знакомится с nginx, у чувака не работает alias в локейшене /work

Не так давно была похожая тема, ща скину путь решения)

Twissel ★★★★★ ()

Короче говоря, в локейшене с алиасом запиши в самый конец локейнш-регулярку для обработки php.

Если в чем-то ошибся, анон поправит)

Twissel ★★★★★ ()
Ответ на: комментарий от Twissel

этот анон не поправит, он с трудом удерживается от вопроса «где макет?!»

anonymous ()
Ответ на: комментарий от Twissel

Вопрос закрыт. Спасибо за помощь

Спасибо. Решил вопрос добавив одну строку с настройках алиаса. Может кому будет интересно. Ниже указал какую строку.

location /work {
       alias /home/oleg/WorkProjects;

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

эту строку–> fastcgi_param SCRIPT_FILENAME $request_filename; } auth_basic «Restricted Content»; auth_basic_user_file /etc/nginx/.htpasswd; try_files $uri $uri/ =404; autoindex on; autoindex_localtime on; autoindex_exact_size off;

}
leshiy7 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.