为什么在 nginx 上安装 wordpress 后浏览器下载 index.php?

Why browser downloads index.php after wordpress installation on nginx?

这是我的 nginx 配置

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

        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;


        root /var/www/domain_name/html;
        index index.php index.html;

        server_name domain_name;

        location / {
        #        try_files $uri $uri/ =404;
            try_files $uri $uri/ /index.php$is_args$args;

        }

        location = /favicon.ico { log_not_found off; access_log off; }
        location = /robots.txt { log_not_found off; access_log off; allow all; }
        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
            expires max;
            log_not_found off;
        }

}

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

    server_name domain_name;

    return 302 https://$server_name$request_uri;
}

我尝试按照其他答案中提到的那样重新启动服务器并清除浏览器缓存,但没有成功。有帮助吗?

您的服务器无法加载 JSCSS 文件的问题

因此您需要检查文件

的 linux 中的文件权限

文件权限

不正确的文件权限是“403 Forbidden”错误的另一个原因。目录的标准设置为 755,文件的标准设置为 644,建议与 NGINX 一起使用。 NGINX 用户还需要是文件的所有者。

识别 NGINX 用户 首先,您需要确定 NGINX 运行 是哪个用户。为此,请使用命令:

ps -ef | grep nginxmixed

检查第一列,对于任何 NGINX 工作进程:

在此示例中,NGINX 工作进程是 运行 作为用户 nginx。

设置文件所有权 转到网站文档根目录上方的目录。例如,如果您网站的文档根目录是 /usr/share/nginx/example.com,请使用以下命令转到 /usr/share/nginx:

cd /usr/share/nginxmixed

使用以下命令将所有文件的所有权更改为 nginx 用户:

sudo chown -R nginx:nginx *mixed

设置权限 使用命令将此位置的每个目录的权限设置为755:

sudo chmod 755 [directory name]mixed

例如设置example.com目录的权限,命令为:

sudo chmod 755 example.commixed

然后进入web文档根目录:

cd example.commixed

使用命令更改此目录中所有文件的权限:

sudo chmod 644 *

您需要告诉您的服务器如何处理 PHP 文件。现在,您的服务器不知道,所以它会将其发送到浏览器以供下载。您需要添加这样的代码(假设您在 PHP7 上)以告诉您的服务器处理 PHP 文件。

  location ~* \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_index index.php;
    include fastcgi_params;
  }

另一个教程here