背景:windows下开发,api所在的项目跟后台的项目网址不一致,如果两个项目nginx处理php请求的端口在9000的话,那么则会出现请求超时,出现以上原因是因为windows 下 nginx+php的环境,不支持并发请求的原因。当同时访问多个域名,并且同时指向你本地服务的时候,就不行了。(linux,mac没有这个问题)
举个栗子:
我本地有两个域名,localhost/demo1/index.php 这里需要请求另外一个网址,localhost/demo2/demo.php获取数据 ,windows下php是不支持并发请求的,但是,开法中不可能每次都上传到测试机器吧,所以就有了这篇文章了。
博主用在是phpstudy开发,下面就我工作的时候碰到的来讲解吧。
我所在的项目:
http://www.kuaiji.com/ 需要通过api获取数据 http://api.course.kuaiji.com
nginx配置,主要是把nginx处理php请求的端口改成不一样即可,然后phpstudy启动一个客户端,命令行启动一个客户端,
cmd切换到php安装目录: E:\php2018\PHPTutorial\php\php-7.2.1-nts目录,然后启动: php-cgi.exe -b 127.0.0.1:9001 -c php.ini
server{
listen 80;
server_name www.kuaiji.com;
root E:/php2018/PHPTutorial/WWW/kuaiji/public;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
server{
listen 80;
server_name api.course.kuaiji.com;
root E:/php2018/PHPTutorial/WWW/api-course/public;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
小伙伴们看完这篇文章学会了,怎么解决windows下curl超时的问题了吗?