解决启动php-fpm后访问不到php文件的办法
问题场景:
- linux系统
- nginx服务器
- 安装好了fpm的php7
- 在nginx的web目录下新建了index.php文件,内容为phpinfo()函数。(如果是源码安装,位置一般为 /usr/local/nginx/html/index.php)
nginx经过了简单的配置,开始试验是否可以支持php
location / { root html; index index.html index.htm index.php; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }
在浏览器访问 localhost/index.php
结果为 File not found.
这时候我们查看nginx的错误日志,错误日志的主要内容为 FastCGI sent in stderr: "Primary script unknown"
经过分析+搜索前辈经验得出结论,nginx的配置文件无法识别/scripts
路径,所以我们将配置文件中的/scripts
改为$document_root
,或者web目录的绝对路径。更改后的配置文件如下:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
重启nginx服务器,已经可以正确显示phpinfo()
的内容了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
很多站长转到nginx+php-fpm后,饱受500,502问题困扰.当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时. php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的 复制代码 代码如下: ; The timeout for serving a single request after which a PHP backtrace will be; dumped to the 'sl
-
linux下php-fpm开启关闭使用方法
所以启动.关闭和重新加载的方式和以前不同,需要使用信号控制: php-fpm master 进程可以理解一下信号: 复制代码 代码如下: SIGINT, SIGTERM 立刻终止SIGQUIT 平滑终止SIGUSR1 重新打开日志文件SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块 例如:关闭php-fpm 复制代码 代码如下: kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid` php-fpm 重启 复制代码 代码如
-
基于php-fpm的配置详解
php5.3自带php-fpm/usr/local/php/etc/php-fpm.confpid = run/php-fpm.pidpid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log错误日志,默认在安装目录中的var/log/php-fpm.log log_level = notice错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一
-
Nginx和PHP-FPM的启动、重启、停止脚本分享
服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了.自己动手丰衣足食.以下脚本应该在RHEL, Fedora, CentOS下都适用. 一.Nginx启动脚本/etc/init.d/nginx 复制代码 代码如下: #!/bin/bash # # Startup script for Nginx - this script starts and stops th
-
php配置php-fpm启动参数及配置详解
约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm的启动参数 复制代码 代码如下: #测试php-fpm配置/usr/local/php/sbin/php-fpm -t/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.con
-
nginx+php-fpm配置文件的组织结构介绍
1.nginx的配置文件路径 一般来说,安装nginx的时候,配置文件的默认路径是 /usr/local/nginx/conf/nginx.conf. 我们可以使用一个链接文件,将conf目录指向一个特定目录,以方便管理.例如,笔者所在的公司喜欢将所有的服务器配置文件集中在/home/server_config中,然后在该目录中新建一个子目录 nginx,再将/usr/local/nginx/conf 通过链接文件指向/home/server_config/nginx. 2.Virtual ho
-
实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询. 在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志.不会有php的error log 信息.nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog. 原因是php-fpm的配
-
php-fpm可执行文件出现乱码的解决方法
配置php-fpm 默认php安装目录:/usr/local/php先拷贝配置文件,在进行编辑 复制代码 代码如下: cp/usr/local/php/etc/php-fpm.conf.default->/usr/local/php/etc/php-fpm.confvi/usr/local/php/etc/php-fpm.conf 制作fpm启动服务 复制下面的代码,vi/etc/init.d/php-fpm,保存 复制代码 代码如下: #!/bin/bash#php-fpmStartupscr
-
nginx调用php-fpm出错解决方法和nginx配置详解
装完了nginx和php-5.5,配置好了nginx调用php后,就开始启动php-fpm. 使用下面的命令 复制代码 代码如下: /usr/local/php/sbin/php-fpm 就可以启动了. 在nginx的目录中创建个php的检测脚本index.php 结果在打开http://localhost/index.php 悲剧的发现居然无法打开 .查看日志文件,看了下报错原因 复制代码 代码如下: 2013/07/01 22:34:26 [error] 3214#0: *64 FastCG
-
解决启动php-fpm后访问不到php文件的办法
问题场景: linux系统 nginx服务器 安装好了fpm的php7 在nginx的web目录下新建了index.php文件,内容为phpinfo()函数.(如果是源码安装,位置一般为 /usr/local/nginx/html/index.php) nginx经过了简单的配置,开始试验是否可以支持php location / { root html; index index.html index.htm index.php; } location ~ \.php$ { root html;
-
解决Spring Boot 正常启动后访问Controller提示404问题
问题描述 今天重新在搭建Spring Boot项目的时候遇到访问Controller报404错误,之前在搭建的时候没怎么注意这块.新创建项目成功后,作为项目启动类的Application在com.blog.start包下面,然后我写了一个Controller,然后包的路径是com.blog.ty.controller用的@RestController 注解去配置的controller,然后路径也搭好了,但是浏览器一直报404.最后找到原因是Spring Boot只会扫描启动类当前包和以下的包 ,
-
解决centos7中tomcat启动与本机访问问题
tomcat的启动 tomcat文件下bin文件夹下的./startup.sh(启动),./shutdown.sh(关闭) tomcat启动后本机进行访问无法打开,是由于centos的防火墙的问题, 关闭centos7的防火墙 systemctl stop firewalld systemctl disable firewalld 查看防火墙是否关闭 firewall -cmd –state 总结 以上所述是小编给大家介绍的解决centos7中tomcat启动与本机访问问题,希望对大家有所帮助,
-
MySQL无法启动、无法停止解决方法(安全设置后容易出现)
最近在Windows 2003上的MySQL出现过多次正常运行时无法连接数据库故障,现象是无法连接数据库,也无法停止MySQL或重启MYSQL,重启机子也没有效果,由于每次都是草草尝试各种方法搞定即可,一直没有深入研究,下次一定把图和故障现象系统归纳一下.本文先列一下常见的解决方法. 一.确认MYSQL已经配置且正确 重新配置 如果是重新安装的MYSQL,请确认安装后的MYSQL经过第一次配置,否则会缺少my.ini文件,配置方法,可以在安装到最后一步时选择,现在开始配置MYSQL,或在程序组中
-
解决Vue打包后访问图片/图标不显示的问题
大家可否遇到过 npm run build 打包后,项目在线上运行时,资源文件 (图片.图标)不显示 的问题, 接下来,我给大家分享一下我的解决方案~ 1.检查打包后dist中的css文件 打开此文件后你会头晕,因为都是打包压缩过的css代码,不过没关系 ,关键字搜索url 检查该url路径是否匹配正确 对比后惊人发现!!! 因此在url路径前添加../../就OK了, 但是 很麻烦,每次打包后都要进行二次加工吗? 并不是!!! 2.自动添加 ../../ 的方法 打开build/utils.j
-
快速解决Tomcat重新配置后启动慢的问题
Jenkins+Tomcat服务器配置过程中,修改了tomcat配置文件:然后再访问服务器的tomcat页面发现根本加载不出来 企图重启tomcat /opt/tomcat/bin/shutdown.sh 出现如下报错 [root@izbp1fmfc2pdjiw9u143xfz conf]# /opt/tomcat/bin/shutdown.sh Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CAT
-
解决启动django,浏览器显示“服务器拒绝访问”的问题
这个问题用了我整整一晚上的时间才解决,希望有人遇到和我一样的时能少走些弯路. 启动Django,服务器拒绝访问,可以尝试以下方法解决: 1. 没有开启允许访问 编辑你所创建项目(HelloWorld)目录下settings.py,把其中的 ALLOWED_HOSTS=[] 修改为 ALLOWED_HOSTS=['*'] // '*'表示任意地址 2.Django版本太高(SQLite3版本太低) 运行python3 manage.py runserver 0.0.0.0:8000报错: djan
-
springboot读取文件,打成jar包后访问不到的解决
springboot读取文件,打成jar包后访问不到 最新开发出现一种情况,springboot打成jar包后读取不到文件,原因是打包之后,文件的虚拟路径是无效的,只能通过流去读取. 文件在resources下 public void test() { List<String> names = new ArrayList<>(); InputStreamReader read = null; try { ClassPathResource resource = new ClassP
-
如何解决局域网中网络邻居访问响应慢
你碰到这样的情况吗? 在Windows98和Windows95的对等网中,通过网上邻居访问其它计算机,有时要刷新好多次才能连接得上. 在Windows 2000 Server或者Win dows 2000 Advanced Server中访问其它的计算机,特别是访问Windows 98时很慢,要等30到50秒钟. 上Internet时就够慢了,现在连局域网也这样慢,怎么办?下面我们就和笔者一起来解决局域网"慢"的问题. 网络中的问题主要出在硬件和软件两个方面,局域网中"慢&q
-
如何解决安装MySQL5.0后出现1607异常
最近项目比较多,时间不宽松,一直没给大家整理,今天小编抽个时间把我的解决方案分享给大家,具体内容如下所示. 问题描述: 我在自己的电脑上配置了Mysql5环境,同时安装了一个phpMyAdmin管理工具,安装完成后,发现在phpMyAdmin里面输入汉字,总是提示下面这个错误: Datatype too large 后来想到MySQL安装的时候没有设置字符集!在添加/删除程序里卸载MySQL 后,发现服务里还有一个MySQL的服务没弄掉!用卸载服务的工具卸载后. 重新安装MySQL以后,MySQ
随机推荐
- AngularJS中下拉框的高级用法示例
- 常用Java排序算法详解
- XMLDOM对象方法:Document对象方法
- python使用nntp读取新闻组内容的方法
- Vue声明式渲染详解
- QQ空间强制关注代码生成器 V1.0下载
- 注册表检查程序Scanreg你用了吗?
- Java NumberFormat 类的详解及实例
- ES6使用Set数据结构实现数组的交集、并集、差集功能示例
- 从零开始 教你如何搭建Discuz!4.1论坛(图)
- 解析MySQL中存储时间日期类型的选择问题
- css——之三行三列等高布局图文教程
- js和jquery批量绑定事件传参数一(新猪猪原创)
- JavaScript模拟文件拖选框样式v1.0的实例
- 浅析Cookie中的Path与domain
- iOS开发中苹果输入手机号变用户的名字
- Yii2使用Bootbox插件实现自定义弹窗
- C语言 数据结构中栈的实现代码
- C++ 11实现检查是否存在特定的成员函数
- python实现Floyd算法