nginx + php 出现file not found问题解决方案

nginx + php 出现file not found问题解决方案

当在浏览器中访问php结尾的脚本时,一直出现File not fount报错,状态码404

server {
    listen 443 ssl http2 default_server;
    server_name www.test.com;
    ssl_certificate ssl/www.test.com.crt;  # 指定证书的位置,绝对路径
    ssl_certificate_key ssl/www.test.com.key;  # 绝对路径,同上
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_prefer_server_ciphers on;
    proxy_intercept_errors on;
    
    location / {
        root /ser/www/test;
        index index.html index.shtml;
    }
	location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
 }

分析响应头发现,x-powered-by有返回php版本,说明nginx已经匹配到php脚本,并让php-fpm去处理。因此定位问题在php无法找到文件位置。
在这里插入图片描述
经排查给出正确配置:

server {
    listen 443 ssl http2 default_server;
    server_name www.test.com;
    ssl_certificate ssl/www.test.com.crt;  # 指定证书的位置,绝对路径
    ssl_certificate_key ssl/www.test.com.key;  # 绝对路径,同上
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_prefer_server_ciphers on;
    proxy_intercept_errors on;
    
    root /ser/www/test;
    
    location / {
        #删除 root /ser/www/test;
        index index.html index.shtml;
    }
	location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
 }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值