之前一开始一直都是使用WAMP在WIN7上快速搭建环境,但是后来线上环境是nginx,也为了和线上环境一样,就把本地的WAMP删了,搞PHP NGINX,结果离谱的事情出现了。
localhost 下的 PHP文件 A CURL请求B文件,超时,A里面只有一个CURL请求发起到B,也超时。
解决方法:开启多个 php-cgi.exe
@ECHO OFF
ECHO Starting PHP FastCGI...
set PATH=D:\php71;%PATH%
php --ini
rem tasklist /fi "imagename eq php-cgi.exe"
taskkill /fi "imagename eq php-cgi.exe"
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9000
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9001
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9002
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9003
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9004
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9005
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9006
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9007
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9008
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9009
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9010
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9011
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9012
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9013
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9014
RunHiddenConsole.exe D:\php71\php-cgi.exe -b 127.0.0.1:9015
rem 重启nginx
taskkill /F /fi "imagename eq nginx.exe"
start nginx
rem PAUSE
# nginx 配置多个 php_pool
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
server_names_hash_bucket_size 512;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
upstream php_pool {
server 127.0.0.1:9000 weight=1;
server 127.0.0.1:9010 weight=1;
server 127.0.0.1:9011 weight=1;
server 127.0.0.1:9012 weight=1;
server 127.0.0.1:9013 weight=1;
server 127.0.0.1:9014 weight=1;
}
upstream php_pool_pc {
server 127.0.0.1:9001 weight=1;
server 127.0.0.1:9002 weight=1;
}
upstream php_pool_h5 {
server 127.0.0.1:9003 weight=1;
server 127.0.0.1:9004 weight=1;
server 127.0.0.1:9005 weight=1;
}
upstream php_pool_api {
server 127.0.0.1:9006 weight=1;
server 127.0.0.1:9007 weight=1;
server 127.0.0.1:9008 weight=1;
}
upstream php_pool_pay{
server 127.0.0.1:9009 weight=1;
}
include vhost/*.conf;
}
# localhost.conf
server {
listen 80;
server_name localhost;
root d:/localhost;
index index.html index.htm index.php;
autoindex on;
autoindex_localtime on;
location ~ \.php$ {
fastcgi_pass php_pool;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx 和Apache不一样,Apache有个 fcgi的模块,可以自己按需调用,而nginx不行。 default.fu#foxmail.com