共计 1275 个字符,预计需要花费 4 分钟才能阅读完成。
Nginx 报错:403 Forbidden 并且访问首页 index.php 是下载文件的状态,不能正常解析 php
系统有其他两个站访问是正常的
看日志没有看到明显的错误
搜索了下:
答案如下:
php 的时候会变成下载:这是因为 nginx 没有设置好碰到 php 文件时,要传递到后方的 php 解释器。
看看你的 nginx.conf 配置,里面有没有这样的设置:
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9000;
}
上面的意思,就是说,碰到.php 结尾的文件,传递给后方 127.0.0.1 的 9000 端口上。
当然啦,你的 php-fpm 解析器也需要正常运行,并监听好 9000 端口,才能最终生效并有效处理 php 脚本。
环境中的 PHP 配置:
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
发现是 location 在匹配的时候没有.*
加上问题解决,在虚拟机里面模拟环境没有加.* 正常解析,没有想明白
更多 Nginx 相关教程见以下内容:
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress http://www.linuxidc.com/Linux/2016-10/136435.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Linux(RHEL7.0)下安装 Nginx-1.10.2 http://www.linuxidc.com/Linux/2016-10/136484.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137650.htm