本人个人博客网站与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();
?>
访问出现以下界面大功告成