ThinkPHP,nginx,配置支持pathinfo

emmmmm
帮了一个朋友的忙,顺便记录一下相应的流程吧
首先,问题:安卓访问后端接口出错
1,首先查看是否服务器异常,——可以正常访问站点首页
2,问了一下接口地址,排查一下接口地址是否有问题——有问题,404
3,排查是否缺失文件,——不缺失
4,用可以访问站点首页的路由方式调用接口,——没问题
,综上找到问题原因,应该是未设置对应的路由规则
修改了tp 配置,发现并没有生效。
查找nginx问题-
问题1:nginx 默认不支持pathinfo
解决问题:配置nginx.conf文件

location ~ .php {
root : /path1/path2/…;(站点根目录)
fastcgi_pass:(配置的一个坑,后续会说)
fastcgi_index index.php;(首页文件-)
fastcgi_split_path_info ^(.+.php)(.*)$;(url地址规则)
fastcgi_param PATH_INFO $fastcgi_path_info; 不清楚-到时候研究
fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name; 不清楚,在研究
include fastcgi_params;
}

现在说刚刚那个坑,可能本人太菜,一些基本常识不清楚。。
首先网上大多数的资料都是 在刚刚那个坑中填写
127.0.0.1:9000
也就是这样
fastcgi_pass:127.0.0.1:9000
可是这么填写导致的问题就是nginx 不识别(个人理解)php文件 也就是没有调用到php-fpm进程去解析php的文件,导致入口文件index.php一直在被下载,而不是被解析
然后发现这些配置不正确
然后查看端口命令 netstat -lntp 没有看到端口9000被占用
然后查看 换种方式 查看 lsof -i:9000 还是gg
然后。。。并没用去解决为什么php-fpm 没有占用端口9000

而是换了另外一种方式
fastcgi_pass unix:/tmp/php-fpm.sock;
也就是 unix:对应php-fpm.sock的绝对路径
如果不清楚在哪里的可以再去查看一下
php-fpm.conf 这个文件 里面有对应引用的路径。

一开始对于这里的概念不是很清楚,查阅一下资料
如下:
Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.
其中TCP是IP加端口,可以跨服务器.而UNIX Domain Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一服务器的场景.用哪种取决于你的PHP-FPM配
php-fpm.sock 是一个文件,由php-fpm生成-
简单介绍也就是这样-后续还有的一部分引用个链接
https://www.cnblogs.com/manzb/p/8875406.html
有兴趣的也可以在查阅一下相应的知识。。-

好了,到此为止,问题解决-撒花。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值