Nginx 下载 PHP 而不是执行

Nginx 下载 PHP 而不是执行

PHP 文件正在下载而不是执行,并且 mydomain.com 根目录出现 HTTP 403 Forbidden,表明索引指令未正确设置。

(抱歉,我知道这个问题已经被问过无数次了,但我觉得我已经尝试了我能找到的所有文章组合。)

Ubuntu 16.04,已安装 PHP FPM 7.2

以下是我使用的基本配置。为了清晰起见,我删除了尝试过的所有其他内容:

/etc/nginx/站点可用/默认

# Default server configuration

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

        index index.php index.html index.htm;

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

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

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

/etc/nginx/sites-available/mydomain.com.conf

server {
    server_name .mydomain.com;
    listen 80;
    listen [::]:80 ipv6only=on;
    listen 443 default_server ssl;
    listen [::]:443 ipv6only=on;

    location / {
        root /var/www/html/mydomain.com;
    }
}

我注意到的一件事是,即使是全新安装,/run/php/php7.2-fpm.sock 的文件大小也为零。

答案1

nginx 何时下载 php 文件?如果在您访问主站点时发生这种情况mydomain.com/foo.php,那是因为您的 php 配置应该位于主站点的server块内,而不是默认server块中。

因此这应该可行:

/etc/nginx/sites-available/mydomain.com.conf

server {
    server_name .mydomain.com;
    listen 80;
    listen [::]:80 ipv6only=on;
    listen 443 default_server ssl;
    listen [::]:443 ipv6only=on;

    # You need to add your SSL certs here
    ssl_certificate /path/to/mydomain.com.crt;
    ssl_certificate_key /path/to/mydomain.com.key;
    ssl_dhparam /path/to/dhparam.pem;

    root /var/www/html/mydomain.com;
    index index.php index.html index.htm;

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

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

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

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

    return 401;
}

与最佳实践一样,默认服务器块应仅用作虚拟服务器块,以丢弃任何没有有效目的地(即域名,例如mydomain.com)的请求。这意味着当有人请求myexample.com并将 DNS 指向您的 nginx 服务器时,该人将遇到401

相关内容