2016-03-17 1 views
2

Я только что установил nginx, php-fpm и phpmyadmin. Это моя www-папка.Nginx не перенаправляется на страницу index.php phpmyadmin

[[email protected] etc]# ll /usr/share/nginx/html/ 
-rw-r--r-- 1 root root 3650 Feb 13 18:45 404.html 
-rw-r--r-- 1 root root 3693 Feb 13 18:45 50x.html 
drwxr-xr-x 3 root root 40 Mar 17 06:14 myapp.eu 
-rw-r--r-- 1 root root 3700 Feb 13 18:45 index.html 
lrwxrwxrwx 1 root root 22 Mar 17 06:52 mysql -> /usr/share/phpMyAdmin/ 

Мой Nginx местоположение конф файл для PHPMyAdmin под myapp.conf файл выглядит следующим образом

location /mysql { 
     alias /usr/share/phpMyAdmin; 
     location ~ \.php$ { 
       index index.php index.html index.htm; 
       include fastcgi_params; 
       fastcgi_param SCRIPT_FILENAME $request_filename; 
       fastcgi_split_path_info ^(.+\.php)(/.+)$; 
       fastcgi_pass 127.0.0.1:9000; 
     } 
} 

Проблема: Если я пытаюсь получить доступ к myapp.eu/mysql я получаю следующее сообщение об ошибке в журнале Nginx

2016/03/17 09:21:01 [error] 2119#0: *28 directory index of "/usr/share/phpMyAdmin/" is forbidden, client: 84.52.168.135, server: euro-swap.eu, request: "GET /mysql/ HTTP/1.1", host: "euro-swap.eu" 

Но если я попытаюсь получить доступ myapp.eu/mysql/index.php показан phpmyadmin. Поэтому я предполагаю, что nginx должен каким-то образом перенаправить на страницу index.php.

В чем причина этой проблемы? Как это исправить? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, и я предоставлю.

ответ

2

При попытке открыть myapp.eu/mysql, его будучи пойманной на внешней location директивы. Но индекс не определен для внешнего. Таким образом, решение переместить директиву указательный там с внутренней location:

location /mysql { 
     alias /usr/share/phpMyAdmin; 
     index index.php index.html index.htm; 

     location ~ \.php$ { 
       include fastcgi_params; 
       fastcgi_param SCRIPT_FILENAME $request_filename; 
       fastcgi_split_path_info ^(.+\.php)(/.+)$; 
       fastcgi_pass 127.0.0.1:9000; 
     } 
} 
1

Проблема находится во втором месте. location ~ \.php$ соответствует путям, которые заканчиваются .php, а ваш нет: /mysql. Попробуйте удалить его.

location /mysql { 
    alias /usr/share/phpMyAdmin; 
    index index.php index.html index.htm; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $request_filename; 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass 127.0.0.1:9000; 
} 
1

Здесь было мое решение для запуска PHPMyAdmin на подобласти.

Plus в следующий раз у меня этот вопрос, я знаю, что я буду иметь возможность копировать/вставить свое собственное решение :)

server { 
    listen 80; 
    server_name secret-sql-subdomain.site.com; 
    root /usr/share/phpMyAdmin; 
    location/{ 
     fastcgi_pass php-fpm; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^