本地服务CURL请求本地另一个服务API返回超时/或无返回
入职之后一直在忙,终于有时间整理一波最近踩到的坑。
起因:
项目是微服务架构,一个项目对外提供API,新的项目调用API获得数据。于是就在本地搭建了两个服务。配置了两个虚拟域名,指向两个项目,当然我本地是windows+nginx。意外就在这个时候发生了,我在新开发的项目中,调用另一个项目的API时,总是CURL超时,如果CURL不设置超时的话就会造成NGINX卡死。百思不得其解。
问题成因:
后来了解到原来PHP+NGINX在windows下是不支持并发的?(参考文章在这里)
这个我并不敢十分的肯定,我只是觉得能理解这个东西,我们看nginx的配置文件的话,会更清楚一些,到底发生了什么:
fastcgi_pass 都绑定了9000端口
所以两个服务就会有一个端口被占用,无法返回消息。
解决方案:
第一是要把服务绑定到其他没被占用的端口,比如9009,然后切换到php-cgi所在的目录,再单独启动一个php-cgi进程,去监听这个个端口
好的,完美解决。
本地服务CURL请求本地另一个服务API返回超时/或无返回的更多相关文章
- phpstudy nginx下curl请求本地其他项目
curl 请求的时候 如果用post请求,传递参数为 数组的时候 header 头 会被设置为 multipart/form-data 如果是字符串 形式 header 头会被设置为applica ...
- curl请求本地域名问题
curl在本地虚拟机上请求本地接口时候,出现域名解析问题,换为ip即可,可用curl_error() 或者curl_errno来调试: vue单个文件在引入时候自己的逻辑js文件一定要放在html后引 ...
- 解决CURL 请求本地超时
首先,这样的问题只会出现在Windows+Nginx中. php-cgi 默认使用的是9000端口,即使多个进程也并发的是9000端口 在用户访问一个php页面的时候nginx已将该进程占用,在该进程 ...
- 如何手动添加Windows服务和如何把一个服务删除
windows 手动添加服务方法一:修改注册表 在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" ...
- vue中请求本地的json数据
为什么要请求本地的数据?模拟后台的请求数据,验证页面的逻辑是否存在问题,抛开后台提前开发等. 常用的说来有:jq的方式 约等于 axios的方式,vuex状态管理的方式 个人认为最好用的就是jq的方式 ...
- .NET Core微服务之路:基于gRPC服务发现与服务治理的方案
重温最少化集群搭建,我相信很多朋友都已经搭建出来,基于Watch机制也实现了出来,相信也有很多朋友有了自己的实现思路,但是,很多朋友有个疑问,我API和服务分离好了,怎么通过服务中心进行发现呢,这个过 ...
- 微服务系列(二):使用 API 网关构建微服务
编者的话|本文来自 Nginx 官方博客,是微服务系列文章的第二篇,本文将探讨:微服务架构是如何影响客户端到服务端的通信,并提出一种使用 API 网关的方法. 作者介绍:Chris Richardso ...
- linux开机启动服务和chkconfig使用方法(自定义服务路径启动)
服务概述在linux操作系统下,经常需要创建一些服务,这些服务被做成shell脚本,这些服务需要在系统启动的时候自动启动,关闭的时候自动关闭.将 需要自动启动的脚本/etc/rc.d/init.d目录 ...
- Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法
1.绑定服务调用服务里面的方法,图解: 步骤: (1)在Activity代码里面绑定 bindService(),以bind的方式开启服务 : bindServ ...
随机推荐
- JavaSpring【三、Bean】
配置项 id bean的标识 class bean的类全名 scope bean的作用域 constructor-arg 构造注入 properties 设值注入 autowire 装配模式 lazy ...
- 【Day3】1.正则表达式
1.正则表达式 2.案例 关闭贪婪模式
- 不重启linuxVMWare虚拟机添加虚拟光驱、硬盘
方法/步骤1: VMware找到要添加虚拟光驱位置,先右击点击设置,如图所示: 步骤2: 出现此界面之后点击添加: 步骤3: 直接点击下一步,如下图所示: 点击完成,天机硬盘就完毕了. 磁盘添加完成, ...
- subs函数
matlab中subs()是符号计算函数,表示将符号表达式中的某些符号变量替换为指定的新的变量,常用调用方式为: subs(S,OLD,NEW) 表示将符号表达式S中的符号变量OLD替换为新的值NEW ...
- unomp 矿池运行问题随记
经过大量的实践,遇到的问题或经验如下: 1.单机运行多矿池时,单机CPU核心数 成为性能瓶颈,运行两个月后,有部分用户反映 矿机速率只有以前的一半. 2.Dash 等可以自行报块的矿池,每个块的股份比 ...
- vmware添加新硬盘磁盘扫描脚本
#! /bin/bash echo "- - -" > /sys/class/scsi_host/host0/scan echo "- - -" > ...
- mysql5.7安装中的问题(服务无法启动。服务没有报告任何错误。排查方法)
1.拒绝访问的问题 权限不够,必须以管理员身份启动命令行 2.MySQL 服务无法启动.服务没有报告任何错误. 进入到你的mysql安装目录,C:\Program Files\MySQL\MySQL ...
- ubuntu 中 搭建 C编程环境
在 ubuntu 中 使用 快捷键 Ctrl + Alt + T 打开 终端 在终端输入 gcc 查看 有没有安装 gcc (c语言的编译器) ( 我这里是 已经 安装 好的 ) 进行 安装 gcc ...
- 题解 [BZOJ4144] Petrol
题目描述 有一张 n 个点 m 条边的无向图,其中有 s 个点上有加油站.有 Q 次询问(a,b,c), 问能否开一辆油箱容积为 c 的车从 a 走到 b.(a,b均为加油站) 输入格式 第一 ...
- MFC 画字体DrawText()或TextOut(),CFont字体样式类
新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数 void CMFCApplication27View::OnPaint() { CPai ...