本人个人博客网站与CSDN同步,欢迎访问:www.dzyong.com(V1.0)、www.dzyong.top(V2.0)

访问PHP文件时自动下载

这个问题是由nginx引起的,没有进行php配置或者配置错误

nginx中配置php

首先从外到内依次是:http, server, localtion

并且是依次继承的关系。

一个server就是一个服务,可设置独立的端口,域名,及其他配置,如果设置不同的

端口了,master进程就会监听这个端口了。

同一个server里面有多个location,这些location不是平行关系,是匹配关系,不能相互继承。

在同一个server里面,我们可以把 root和index的设置 放到location之外。

针对每个server来配置 access_log, error_log.

针对初始页面,由于nginx有提供提示页面,在50x.html, index.html的location中定义一下root到nginx

原本的页面。

一般会在http中来include各个server。

具体的server配置如下:

server {

listen 80;

server_name localhost;

location / {

root /project/html/blogV2;

index index.html index.htm index.php;

try_files $uri $uri/ /index.html;

}

location ~ .php$ {

root /project/html/blogV2;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

修改了配置文件后一定要重启nginx

./niginx -s reload

访问PHP时报502

自动下载问题解决了,但是访问php报502

e1e358cd189096bb53dbfcd60e1e186c.png

我跟着一步步的配置完了,但是还是没有解决这个问题。

最后找到了原因,还是在./php/etc/php-fpm.config文件中,之前忽略了一点,这里的listen的值应为 listen = 127.0.0.1:9000

这与nginx中的fastcgi_pass   127.0.0.1:9000; 相对应才可以。

[www]

#listen = /home/www/logs/php-fpm.sock

listen = 127.0.0.1:9000

listen.backlog = -1

修改后需要杀死原来的php进程然后重启(这里不需要重启nginx)

./php/sbin/php-fpm -R

写一个测试文件

phpinfo();

?>

访问出现以下界面大功告成

70996235fa0d449e37c13d23c122f011.png

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐