安装nginx+php后,Php页面访问时提示404,但页面是存在的是怎么回事?_百 ...
发布网友
发布时间:2022-04-23 09:38
我来回答
共1个回答
热心网友
时间:2022-04-10 03:52
安装nginx+php后,Php页面访问时提示404,但页面是存在的,应该是下面的原因造成的:
这个是因为index.html 文件目录是nginx默认安装目录 /usr/local/nginx/html,而info.php 把它放到了 /data/web 下造成的,可以在nginx.conf配置文档里面找到相应的问题。
可以按照下面测试更改:
location ~ \.php$ {
root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
nginx -t && nginx -s reload
nginx+php的运行原理:
nginx的worker进程直接管理每一个请求到nginx的网络请求。
对于php而言,由于在整个网络请求的过程中php是一个cgi程序的角色,所以采用名为php-fpm的进程管理程序来对这些被请求的php程序进行管理。php-fpm程序也如同nginx一样,需要监听端口,并且有master和worker进程。worker进程直接管理每一个php进程。
关于fastcgi:fastcgi是一种进程管理器,管理cgi进程。市面上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的一种。php-fpm作为一种fast-cgi进程管理服务,会监听端口,一般默认监听9000端口,并且是监听本机,也就是只接收来自本机的端口请求,所以通常输入命令netstat -nlpt|grep php-fpm 会得到:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1057/php-fpm
这里的127.0.0.1:9000 就是监听本机9000端口的意思。
关于fastcgi的配置文件,fastcgi的配置文件一般放在nginx.conf同级目录下,配置文件形式,一般有两种:fastcgi.conf 和 fastcgi_params。不同的nginx版本会有不同的配置文件,这两个配置文件有一个非常重要的区别:fastcgi_parames文件中缺少下列配置:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
可以打开fastcgi_parames文件加上上述行,也可以在要使用配置的地方动态添加,使该配置生效。
当需要处理php请求时,nginx的worker进程会将请求移交给php-fpm的worker进程进行处理,也就是最开头所说的nginx调用了php,其实严格得讲是nginx间接调用php。
安装nginx+php后,Php页面访问时提示404,但页面是存在的是怎么回事?_百 ...
安装nginx+php后,Php页面访问时提示404,但页面是存在的,应该是下面的原因造成的:这个是因为index.html 文件目录是nginx默认安装目录 /usr/local/nginx/html,而info.php 把它放到了 /data/web 下造成的,可以在nginx.conf配置文档里面找到相应的问题。可以按照下面测试更改:location ~ \.php$ {ro...
...nginx下 <?php phpinfo();?>.访问正常 是怎么回事?
500 错误是php出现语法错误 检查php代码 是不是shopNC用的某些扩展php没有开启
访问php页面出现504 Gateway Timeout 怎么解决
一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out 现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K 默认的fastcgi进程响应的缓冲区...
nginx 更改端口号后php文件无法访问了
所以我猜测你的问题是防火墙没有开放相应端口导致,你可以用telnet检测一下80端口 和你要改的那个端口,另外要改的端口建议在四位数以上例如8080,8081,8082,因为千位以下都是操作系统预留端口 window系统是自带telnet 命令的,需要装一下 检测端口号是否正常开放的命令是telnet ip 端口 telnet 192.168.1...
为什么页面老是出现错误?
2. 代码错误:网页前端代码(HTML、CSS、JavaScript)或后端代码(如PHP、Python等)中的错误都可能导致页面无法正常显示。例如,缺少闭合标签、语法错误、引用资源路径不正确等都可能引发页面错误。3. 网络连接问题:用户访问网页时,如果网络连接不稳定或速度过慢,可能导致页面加载不完整或超时。此外,DNS...
为什么框架连接的PHP页面无法显示,总是提示下载PHP文件
你服务器装了吗?apache 或 nginx。一般这种情况是你不通过直接打开php文件时,浏览器就无法识别php文件,从而自动转为文件下载,就像js一样。
从刚刚「简书」平台的短暂异常,谈Nginx An error occurred报错~_百度...
那么又一个新问题来了,出现503错误后为啥返回的是那个错误页面呢? 带着这个问题在nginx.conf中又发现了一段配置,如下图: 这个配置的意思是当出现500、502、503、504的错误时返回50x.html页面,这个页面在nginx安装目录的html文件夹下,内容如下: 这个页面经过浏览器解析就是开头第一幅图的样子。 分析到这里,就...
iis6+php有时出现http500错误,刷新后又ok.
一般情况下IIS+PHP出现500错误是因为IIS没有配置好PHP文件的解析关联,菜单--工具--Internet选项--高级--显示友好的HTTP错误信息,去掉这个勾,然后刷新出错页,就可以看到详细的出错信息,对帮助你确定错误所在非常有帮助!至于IIS+PHP?apache+php?nginx+php?这三种搭配自然是后面的两种更好一些,Nginx是...
centos+nginx安装phpcms和discuz,开启了伪静态,但是访问的css,js,jpg...
看一下关闭伪静态后的地址,和开启伪静态对比,是不是伪静态规则没设置对呢?
怎么解决nginx502错误?
1.先查看Nginx配置 2.然后停掉192.168.9.19的相关服务,再访问:3.修改源代码src/http/ngx_http_special_response.c,找到如下部分:4.修改以下内容:5.重新编译Nginx,然后再访问:504 gateway time-out故障虽然是隐藏了,可只能骗得了别人一时,最终还得解决问题。无论是502错误还是504错误,都有...