访问php文件自动下载及502问题

本人个人博客网站与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

去查找了很多资料,觉得这边博客写的很详细,可以参考一下https://www.cnblogs.com/doseoer/p/5972002.html

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

最后找到了原因,还是在./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

写一个测试文件

<?php
phpinfo();
?>

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

发布了64 篇原创文章 · 获赞 45 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/DengZY926/article/details/104156033