LINUX.ORG.RU

nginx не перенаправляет на корневую директорию.

 , , ,


0

1

Установил nginx, pht-fpm. В настройках nginx в файле sites-enabled и sites-available указал на другой путь для root ( root /home/oleg/WorkProject; ), что бы все проекты с PHP файлами хранить там и выбирать нужный мне файл. Ho но при переходе по localhost:80 меня кидает на дефолтную web страницу nginx. И все. Не пойму почему не перекидывает на установленный мной Root. И как так сделать, что бы по переходу localhost показывался список проектов как c .htaccess файлом

Ответ на: комментарий от leshiy7

Симлинк на файл с конфигом по умолчанию - default остался каталоге sites-enabled.

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

default файл в sites-enabled:

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

    location / {
        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;
    }

}

leshiy7
() автор топика
Ответ на: комментарий от Infra_HDC

Вот файл nginx.conf:

user nginx; worker_processes 1;

error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;

events { worker_connections 1024; }

http { include /etc/nginx/mime.types; default_type application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp_nopush     on;

keepalive_timeout  65;

#gzip  on;

include /etc/nginx/conf.d/*.conf;

}

Вот файл default в 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 / {
        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;
    }

}

leshiy7
() автор топика

указал на другой путь для root

А чтение-то этих файлов (и "проходимость" всех директорий до и в) для www (или от какого у тебя юзера запускается nginx и php-fpm) ты сделал?

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

error.log

error.log

2020/04/03 02:05:46 [error] 23516#23516: *1 open() «/usr/share/nginx/html/favicon.ico» failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: «GET /favicon.ico HTTP/1.1», host: «localhost», referrer: «http://localhost/»

leshiy7
() автор топика
Ответ на: error.log от leshiy7

Что говорят логи при обращении к *.php ? Можете привести содержимое snippets/fastcgi-php.conf ?

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

при попытке обращения к localhost/second.php

Unable to connect

В логи ничего не пишет

leshiy7
() автор топика
Ответ на: комментарий от Infra_HDC

содержимое файла: snippets/fastcgi-php.conf

regex to split $uri to $fastcgi_script_name and $fastcgi_path

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;

leshiy7
() автор топика
Ответ на: комментарий от Infra_HDC

А как с ним связаться,(mky). Я просто новенький на этом форуме. Не пойму где написать ему сообщение.

leshiy7
() автор топика
Ответ на: комментарий от Infra_HDC

В общем вроде заработало. Снес под чистую Nginx, все файлы с Apache2 и заново залил Nginx. Только два вопроса:

  1. почему это работает только если укажу IP:second.php, а если просто localhost то перекидывает на дефолтную страницу приветствия Nginx? Плюс к тому же не работает autoindex, чтобы отображать всю root дерикторию. Как исправить эти проблемы? Настройка sites-available/default:

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

location / {
    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;
}

}

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

Это я его «скастовал в тред». Увидит, когда будет онлайн, и если захочет – ответит.

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

ЯННП. Сначала:

меня кидает на дефолтную web страницу nginx. И все. Не пойму почему не перекидывает на установленный мной Root

Теперь тема помечена решёной, но:

а если просто localhost то перекидывает на дефолтную страницу приветствия Nginx

то есть как перекидывало, так и перекидывает, но, типа заработало? Или вы убрали server_name _[\inline]?

А логи лучше включите, без записи в access.log вобще не понятно, может у вас браузер закешировал...

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