配置nginx+php服务的时候,打开php文件就显示502,一般这个是php没启动的导致不能正常解析php文件。

因为nginx解析php文件是交给fastcgi_pass 来处理的,默认一般fastcgi_pass 有两种方式来解析php,一种是常见的tcp也就是监听9000端口,这边只做tcp的解析。

netstat -ntlp 查看9000端口是没有监听的,默认不再监听9000端口了,监听的是/tmp/php-cgi-56.sock

1.分析问题

我一般遇到这种问题都是先看nginx 的日志cd  /usr/local/nginx/logs

vim  error.log

连接被拒绝

查看是否有监听到 9000 端口netstat -ntulp

没有 监听9000端口

2.解决问题

找到 php-fpm.conf[root@izwz975qccspcqtrgb5hwrz ~]# cd /usr/local/php/etc

[root@izwz975qccspcqtrgb5hwrz etc]# ls -l

-rw-r--r-- 1 root root  467 Sep 10 18:49 php-fpm.conf

将端口监听  改为9000

改完重启 phpservice  php-fpm  restart

发现可以监听到9000 端口了

但 访问项目 网址 又 出现了  access denied

解决问题

1.修改nginx 配置  的fastcgi_param 的值,并添加include fastcgi_param ,但是fastcgi_param的值的修改又有好几种说法,经过多次尝试之后

修改如下:fastcgi_param  SCRIPT_FILENAME/data//wwwroot/default/victdo_ws/$fastcgi_script_name;

include        fastcgi_params;

reload配置文件,访问页面这次报错编程了access denied,访问被拒绝,查看了error日志没有发现错误提示,继续百度,

最终发现thinkphp框架的网址需要修改php环境的一个参数,引起问题的原因可能是:ThinkPHP的URL_MODEL问题导致ngnix解析问题。

于是我是这样解决的:

2.进入服务器,改php.ini文件。将cgi.fix_pathinfo的值改成1。

重启php-fpm。

3.结果终于访问正常了。解决问题。至此thinkphp框架的网站可以访问了,接下来研究了下cgi.fix_pathinfo

似乎这个配置如果改成1形成一个上传漏洞,具体大家可以百度参考下,所以接下来我把nginx配置文件进一步修改

修改为php文件在上传目录的执行,也就是如下代码:值得注意的是这个代码需要添加php文件解析location块之前,否则无效!location ~ ^/public/.*\.(php|php5) {   deny all;  }

php 9000 端口没起来,PHP无法监听9000端口问题/502错误解决办法相关推荐

  1. 单个进程监听多个端口及多个进程监听同一个端口

    单个进程监听多个端口 单个进程创建多个 socket 绑定不同的端口,TCP, UDP 都行 多个进程监听同一个端口(multiple processes listen on same port) 方 ...

  2. php 9000 端口没起来,ubuntu fpm-php 未监听9000端口问题

    今天搞一台新的ubuntu服务器: 配置好nginx后 死活解析不了php文件,反复修改配置文件未果: 于是怀疑fpm-php,遂 : netstat -ant |grep 9000 惊奇的发现900 ...

  3. 渡一教育_Java每日一练:建立Statement的作用是什么、前端Console.log( Boolean(‘‘))输出的是什么、如果希望1监听TCP端口为9000,服务端应该怎样创建socket

    系列文章目录 文章目录 系列文章目录 题目1java部分建立Statement的作用是什么(答案在最后公布) 题目1 - 答案 ==解析== ==答案== 题目2 前端 js部分 ==答案== 题目3 ...

  4. 配置ssl证书_Nginx监听443端口配置SSL证书

    1.先去宝塔:https://www.bt.cn/申请一个免费SSL证书:2.点支付订单后,还需要再列表 验证域名,验证域名需要在自己的域名解析配置txt类型字符串值如下,解析值在宝塔SSL申请列表详 ...

  5. Nginx监听443端口配置SSL证书

    先去宝塔:https://www.bt.cn/申请一个免费SSL证书: 点支付订单后,还需要再列表 验证域名,验证域名需要在自己的域名解析配置txt类型字符串值如下,解析值在宝塔SSL申请列表详情可以 ...

  6. 部署项目的问题(三)—— node启动服务时listen监听的端口被占用

    Error: listen EADDRINUSE :::8888 表示的就是listen监听的端口被占用 查询什么进程占用了8888端口 sudo fuser -n tcp 8888 (指令一) 或者 ...

  7. 如何多个进程监听同一个端口

    1. 问题描述 一个进程监听端口,经验告诉我们,如果多次启动一个进程会报错:"Address already in use!".这是由于bind函数导致的,由于该端口号已经被第一个 ...

  8. nginx配置监听443端口,开启ssl协议,走 https 访问

    本文目录 前言 一.检查 linux 服务器上的 nginx 是否安装 ssl 模块 二:为 nginx 安装 ssl 模块 三.nginx 开启 443 端口监听(https配置) 成功配好后的效果 ...

  9. 安装sql server 2000企业版及升级为sp4(监听1433端口)

    最近需要用到sql数据库,因为自己用的是xp系统,但是标准的安装过程xp是不支持企业版的,不过网上流传着xp下如何安装sql server 2000企业版的方法,我按照其说明操作,却一直不成功,其间经 ...

最新文章

  1. Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)
  2. ActiveMQ activemq web管理界面介绍
  3. jackson json转对象 对象转json
  4. 戛古 Kakku Pagodas
  5. SAP系统中凭证涉及日期
  6. Boost:BOOST_ASSERT_MSG扩展的用法测试程序
  7. 具有Akka反应流的反应队列
  8. Java面试知识点:File、IO流
  9. python 计算机基础
  10. 微软Kubernetes服务AKS开发正式版空间服务
  11. 微服务落地践行渐进,4个QA一窥金融微服务现状
  12. 取 java 程序运行的路径_获取Java程序运行的路径 | 获取当前jar包的路径
  13. GlusterFS分布式文件系统
  14. Mac系统如何安装php,MAC系统如何快速安装php
  15. IDEA Unable to import maven project: See logs for details
  16. 学校人脸识别门禁功能介绍
  17. 基于node连接广工大服务器获取信息
  18. ESP8266 WIFI模块学习之路(7)——自写Android手机APP接受单片机数据
  19. win10 系统更新(window update)
  20. Mac使用Docker安装artemis

热门文章

  1. ASP.NET生成静态页面的简单实现
  2. 微软操作系统总裁:Win8应用商店是发展必然
  3. 信息收集--IP扫描 (上篇)
  4. 在linux下面实现检测按键(Linux中kbhit()函数的实现)
  5. MPC(模型预测控制)之二(路径规划)
  6. 13-union 、distinc、 join
  7. Android 基础总结
  8. git-stash用法
  9. 指针辨析:悬垂指针、哑指针、野指针、智能指针
  10. 高并发编程基础(线程池基础)