NGINX + php7.0-fpm + phpmyadmin

Отказ от ответственности: я пробовал советы, перечисленные, вероятно, во всех результатах Google на первых двух страницах. Ни один из них у меня не работал. Это не дубликат.

Я запускаю Debian 9 в контейнере LXC, в котором был установлен LAMP, сегодня я хотел заменить apache2 на php-fpm и nginx. Проблема в том, что я не могу заставить эту конфигурацию работать вообще.

Виртуальный хост "по умолчанию" отключен (файл / символическая ссылка отсутствуют в сайтах с поддержкой)

Текущая конфигурация (сайты с поддержкой / phpmyadmin) :

server {
    listen 127.0.0.1:80;
    root /home/fakeuser/fakepath;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name _;

    location ~\.php$ {
            include snippets/fastcgi-php.conf;
            #fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$fastcgi_script_name;
            fastcgi_pass  unix:/run/php/php7.0-fpm-phpmyadmin.sock;
            include fastcgi_params;
    }

    location /phpmyadmin {
        alias /usr/share/phpmyadmin;

        location ~\.php$ {
            include snippets/fastcgi-php.conf;
            #fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$fastcgi_script_name;
            fastcgi_pass  unix:/run/php/php7.0-fpm-phpmyadmin.sock;
            include fastcgi_params;
        }
    }

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
    }
}

Когда я пытаюсь открыть:

localhost/index.php

Я получаю index.php, загруженный на мой компьютер

, когда я пытаюсь открыть:

localhost/phpmyadmin/index.php

Я получаю «Файл не найден». и эта запись в

/var/log/nginx/error.log


2018/09/17 19:22:37 [error] 27804#27804: *4 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: _, request: "GET /phpmyadmin/index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm-phpmyadmin.sock:", host: "localhost"

ОБНОВЛЕНИЕ: Я проверил журнал php-fpm, и он каждый раз просто выводит его в журнал:

- - 20 / сен / 2018: 21: 03: 26 +0000 "GET /phpmyadmin/index.php" 404

Понятия не имею, что я делаю не так, пользователь www-data имеет доступ ко всему в этом каталоге, я проверял уже 5 раз.

0
задан 21 September 2018 в 00:11
1 ответ

Глядя на вашу конфигурацию, я не уверен, что ваши директивы nginx fastcgi_pass и fastcgi_param верны.

попробуйте что-нибудь попроще, например:

 location ~ * \ .php $ {
  включить /etc/nginx/fastcgi.conf;
  включить / etc / nginx / fastcgi_params;
  fastcgi_index index.php;
  fastcgi_pass 127.0.0.1:9000;
  }
 

, если ваш php-fpm прослушивает порт 9000 или указывает ему правильный путь к сокету (определенный в файле конфигурации fpm)

Также проверьте файл /run/php/php7.0-fpm-phpmyadmin.sock существует. У меня сложилось впечатление, что путь к сокету php7 по умолчанию - unix: /run/php/php7.0-fpm.sock. Могут быть и другие вещи, которые вам нужно проверить как php.ini. Пожалуйста, попробуйте следовать nginx как раздел этого руководства: https://www.howtoforge.com/tutorial/installing-nginx-with-php7-fpm-and-mysql-on-ubuntu-16.04-lts-lemp /

0
ответ дан 5 December 2019 в 05:17

Теги

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