PHP не работает на nginx с Debian 8 - PullRequest
0 голосов
/ 29 мая 2018

Я только что настроил свой сервер Debian 8 с помощью nginx.Я могу просматривать HTML-файлы.Я использую let's encrypt, который работает успешно, также с автоматическим перенаправлением http на https.

То, что работает не , - это PHP.Также не работает простой info.php файл с

<?php
  phpinfo();
?>

.

В клиенте браузера мое сообщение об ошибке:

404 Not Found nginx / 1.6.2

Журнал ошибок Nginx показывает следующее:

2018/05/29 19:22:57 [error] 1879 # 0: * 1592 open () "/usr/share/nginx/html/info.php "не удалось (2: такой файл или каталог отсутствуют), клиент: ip_address , сервер:, запрос:" GET /info.php HTTP / 1.1 ",host: " domain "

Моя конфигурация nginx:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # SSL configuration
    server_name my-server.de www.my-server.de;
    return 301 https://$server_name$request_uri;

    root /var/www/html;

    index index.php index.html index.htm index.nginx-debian.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ /.php$ {
        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    include snippets/ssl-my-server.de.conf;
    include snippets/ssl-params.conf;
}

Даже если я переместу info.php в /usr/share/nginx/html, тогда клиентский браузер простозагружает файл info.php.

Я прошел все шаги в этом руководстве.Но все равно это не работает.Так как это исправить?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Вот что я использую:

    upstream php {
            server 127.0.0.1:9000;
            server unix:/var/run/php5-fpm.sock down;
    }


    location ~* \.php$ {
            root /var/www/html/;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_read_timeout 180;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include fastcgi_params;
            fastcgi_pass php;
            fastcgi_index index.php;
    }
0 голосов
/ 29 мая 2018

Вы не добавили в прослушивающий порт SSL 443, и ssl-конфигурацию давайте зашифруем, пожалуйста, прокомментируйте 301 перенаправление, протестируйте PHP, затем перейдите к настройке SSL, см. https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-debian-8

Я видел, что вы добавили SSLКонфигурация, вам нужно исправить, как показано ниже. Конфигурация nginx, после перенаправления необходимо настроить PHP на 443 not on 80.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name my-server.de www.my-server.de;
    # Redirect to HTTPS    
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    include snippets/ssl-my-server.de.conf;
    include snippets/ssl-params.conf;


    root /var/www/html;

    index index.php index.html index.htm index.nginx-debian.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ /.php$ {
        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...