fastcgi vc6.0demo
#include <WinSock2.h> #include <stdio.h> #pragma comment(lib, "ws2_32.lib") typedef enum _fcgi_request_type { FCGI_BEGIN_REQUEST = 1, /* [in] */ FCGI_ABORT_REQUEST = 2, /* [in] (not supported) */ FCGI_END_REQUEST = 3, /* [out] */ FCGI_PARAMS = 4, /* [in] environment variables */ FCGI_STDIN = 5, /* [in] post data */ FCGI_STDOUT = 6, /* [out] response */ FCGI_STDERR = 7, /* [out] errors */ FCGI_DATA = 8, /* [in] filter data (not supported) */ FCGI_GET_VALUES = 9, /* [in] */ FCGI_GET_VALUES_RESULT = 10 /* [out] */ } fcgi_request_type; typedef struct { unsigned char version; //版本 unsigned char type; //操作类型 unsigned char requestIdB1; //请求id unsigned char requestIdB0; unsigned char contentLengthB1; //内容长度 unsigned char contentLengthB0; unsigned char paddingLength; //填充字节的长度 unsigned char reserved; //保留字节 }FCGI_Header; typedef struct { unsigned char roleB1; //web服务器所期望php-fpm扮演的角色,具体取值下面有 unsigned char roleB0; unsigned char flags; //确定php-fpm处理完一次请求之后是否关闭 unsigned char reserved[5]; //保留字段 }FCGI_BeginRequestBody; typedef struct { unsigned char appStatusB3; unsigned char appStatusB2; unsigned char appStatusB1; unsigned char appStatusB0; unsigned char protocolStatus; unsigned char reserved[3]; } FCGI_EndRequestBody; void print_env(char *buf,int len) { FILE *fp = fopen("c:\\looooog.txt","w+"); char *p=buf; int i; for(i=0;i<len;i++){ if(*p >=0x20){ printf("%c",*p); fprintf(fp,"%c",*p); }else{ printf("0x%02x",*p); fprintf(fp,"0x%02x",*p); } p++; } printf("\n"); fflush(fp); fclose(fp); } int main() { // initial socket library WORD wVerisonRequested; WSADATA wsaData; FCGI_Header fh; FCGI_BeginRequestBody fb; FCGI_Header fp; FCGI_Header fStdout,fStderr,fEnd; char *pri = NULL; printf("pi = %p\n",pri); int err; wVerisonRequested = MAKEWORD(1, 1); err = WSAStartup(wVerisonRequested, &wsaData); if (err != 0) { return -1; } //if (LOBYTE(wsaData.wVersion) != 1 || // HIBYTE(wsaData.wHighVersion) != 1) //{ // WSACleanup(); // return -1; //} // create socket SOCKET sockServer = socket(AF_INET, SOCK_STREAM, 0); // bind socket SOCKADDR_IN addrServer; addrServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY); addrServer.sin_family = AF_INET; addrServer.sin_port = htons(9000); bind(sockServer, (SOCKADDR *)&addrServer, sizeof(addrServer)); // listen listen(sockServer, 5); SOCKADDR_IN addrClient; int len = sizeof(addrClient); while(1) { // accept SOCKET sockConnection = accept(sockServer, (SOCKADDR *)&addrClient, &len); // closesocket(sockConnection); // receive char recvBuf[1024]; int rlen = recv(sockConnection, recvBuf, 1000, 0); printf("TOTOAL %d\n",rlen); int offset = 0; // curl -d "{\"name\":\"values\"}" http://172.28.250.184:8099/aa.php //closesocket(sockConnection); memcpy(&fh,recvBuf+0,sizeof(FCGI_Header));//FCGI_BEGIN_REQUEST memcpy(&fb,recvBuf+sizeof(FCGI_Header),sizeof(FCGI_BeginRequestBody)); memcpy(&fp,recvBuf+sizeof(FCGI_Header)+sizeof(FCGI_BeginRequestBody),sizeof(FCGI_Header));//FCGI_PARAMS printf("HEAD 8 + BEGIN 8 + PARAM 8 left %d\n",rlen-24); int envLen = fp.contentLengthB1*256+fp.contentLengthB0; int envpadding = fp.paddingLength; char envBuf[1024]; memset(envBuf,0,sizeof(envBuf)); memcpy(envBuf,recvBuf+sizeof(FCGI_Header)*2+sizeof(FCGI_BeginRequestBody),envLen);//environment variable printf("HEAD 8 + BEGIN 8 + PARAM 8 + env %d left %d\n",envLen+envpadding,rlen-24- envLen-envpadding); memcpy(&fp,recvBuf+sizeof(FCGI_Header)*2+sizeof(FCGI_BeginRequestBody)+envLen+envpadding,sizeof(FCGI_Header));//FCGI_PARAMS env_end printf("HEAD 8 + BEGIN 8 + PARAM 8 + env %d +env_end 8 left %d\n",envLen+envpadding,rlen-24 - envLen - envpadding -8); print_env(envBuf,envLen); //std in 开始 contentLength是0的话代表是GET,可以结束接收 memcpy(&fp,recvBuf+sizeof(FCGI_Header)*3+sizeof(FCGI_BeginRequestBody)+envLen+envpadding,sizeof(FCGI_Header));//FCGI_STDIN int postLen = fp.contentLengthB1*256+fp.contentLengthB0; int postpadding = fp.paddingLength; char postBuf[256]; if(postLen != 0) memcpy(postBuf,recvBuf+sizeof(FCGI_Header)*4+sizeof(FCGI_BeginRequestBody)+envLen+envpadding,postLen);//post data //下一个std in 这个可能是多次的,同样,当长度是0的时候,结束接收 memcpy(&fp,recvBuf+sizeof(FCGI_Header)*4+sizeof(FCGI_BeginRequestBody)+envLen+envpadding+postLen+postpadding,sizeof(FCGI_Header));//FCGI_PARAMS postLen = fp.contentLengthB1*256+fp.contentLengthB0; postpadding = fp.paddingLength; if(postLen != 0) memcpy(postBuf,recvBuf+sizeof(FCGI_Header)*5+sizeof(FCGI_BeginRequestBody)+envLen+envpadding,postLen);//post data //........ /* 例子 S 代表本段长度 T:代表本段类型 F:代表标识 L指示下一段内容的长度 T= 1:FCGI_BEGIN_REQUEST 4:FCGI_PARAMS 5:FCGI_STDIN F= 1:保持连接 0:处理完毕后断开连接 L= contentLength + paddingLength的总长度 HEAD(S8|T1|L8)+ROAL(S8|Fx)+ENV_HEAD(S8|T4|Lx)+ENV(Sx)+ENV_END(S8|T4|L0)+STD_IN(S8|T5|L0) GET demo 824 = 8 + 8 + 8 + (782+2) + 8 +8 HEAD(S8|T1|L8)+ROAL(S8|Fx)+ENV_HEAD(S8|T4|Lx)+ENV(Sx)+ENV_END(S8|T4|L0)+STDIN_HEAD(S8|T5|Ly)+STD_IN(Sy)+STD_IN(S8|T5|L0) POST demo 744 = 8 + 8 + 8 + (679+1) + 8 + 8 + (11+5) + 8 */ // recvBuf[rlen] = '\0'; char sendBuf[1024]; char response[]="HTTP/1.1 200 OK\r\nContent-Type:text/html\r\nContent-Length: 7\r\n\r\nWelcome"; fStdout.version=1; fStdout.type=6;//FCGI_STDOUT fStdout.requestIdB1=0; fStdout.requestIdB0=1; fStdout.contentLengthB1=0; fStdout.contentLengthB0=strlen(response); fStdout.paddingLength=0; fStdout.reserved=0; fStderr=fStdout; fStderr.type=7;//FCGI_STDERR fStderr.contentLengthB0=0; fEnd = fStderr; fEnd.type=3;//FCGI_END_REQUEST memcpy(sendBuf,&fStdout,sizeof(FCGI_Header)); memcpy(sendBuf+sizeof(FCGI_Header),response,strlen(response)); memcpy(sendBuf+sizeof(FCGI_Header)+strlen(response),&fStderr,sizeof(FCGI_Header)); memcpy(sendBuf+sizeof(FCGI_Header)*2+strlen(response),&fEnd,sizeof(FCGI_Header)); // //printf("rlen = %d [%s]\n",rlen, recvBuf+sizeof(FCGI_Header)+sizeof(FCGI_BeginRequestBody)); //Sleep(5000); // send send(sockConnection, sendBuf, sizeof(FCGI_Header)*3+strlen(response),0); // close connection socket closesocket(sockConnection); printf("finish %s \n",inet_ntoa(addrClient.sin_addr)); } }
配置
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 192.168.22.103:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
日志输出
2017/10/10 17:53:14 [debug] 15801#0: epoll: fd:6 ev:0001 d:00002AD1E49F9010
2017/10/10 17:53:14 [debug] 15801#0: accept on 0.0.0.0:8099, ready: 0
2017/10/10 17:53:14 [debug] 15801#0: posix_memalign: 00000000066F7370:512 @16
2017/10/10 17:53:14 [debug] 15801#0: *37 accept: 192.168.22.103:2923 fd:3
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer add: 3: 60000:1507629254716
2017/10/10 17:53:14 [debug] 15801#0: *37 reusable connection: 1
2017/10/10 17:53:14 [debug] 15801#0: *37 epoll add event: fd:3 op:1 ev:80000001
2017/10/10 17:53:14 [debug] 15801#0: timer delta: 1021859
2017/10/10 17:53:14 [debug] 15801#0: worker cycle
2017/10/10 17:53:14 [debug] 15801#0: epoll timer: 60000
2017/10/10 17:53:14 [debug] 15801#0: epoll: fd:3 ev:0001 d:00002AD1E49F91D1
2017/10/10 17:53:14 [debug] 15801#0: *37 http wait request handler
2017/10/10 17:53:14 [debug] 15801#0: *37 malloc: 00000000067104F0:1024
2017/10/10 17:53:14 [debug] 15801#0: *37 recv: fd:3 339 of 1024
2017/10/10 17:53:14 [debug] 15801#0: *37 reusable connection: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 posix_memalign: 0000000006706650:4096 @16
2017/10/10 17:53:14 [debug] 15801#0: *37 http process request line
2017/10/10 17:53:14 [debug] 15801#0: *37 http request line: "GET /aa.php HTTP/1.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 http uri: "/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http args: ""
2017/10/10 17:53:14 [debug] 15801#0: *37 http exten: "php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http process request header line
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "Host: 172.28.250.184:8099"
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:44.0) Gecko/20100101 Firefox/44.0"
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"
2017/10/10 17:53:14 [debug] 15801#0: *37 posix_memalign: 00000000066FBE10:4096 @16
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "Accept-Encoding: gzip, deflate"
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "Connection: keep-alive"
2017/10/10 17:53:14 [debug] 15801#0: *37 http header: "Cache-Control: max-age=0"
2017/10/10 17:53:14 [debug] 15801#0: *37 http header done
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer del: 3: 1507629254716
2017/10/10 17:53:14 [debug] 15801#0: *37 rewrite phase: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 test location: "/"
2017/10/10 17:53:14 [debug] 15801#0: *37 test location: "50x.html"
2017/10/10 17:53:14 [debug] 15801#0: *37 test location: ~ "\.php$"
2017/10/10 17:53:14 [debug] 15801#0: *37 using configuration "\.php$"
2017/10/10 17:53:14 [debug] 15801#0: *37 http cl:-1 max:1048576
2017/10/10 17:53:14 [debug] 15801#0: *37 rewrite phase: 2
2017/10/10 17:53:14 [debug] 15801#0: *37 post rewrite phase: 3
2017/10/10 17:53:14 [debug] 15801#0: *37 generic phase: 4
2017/10/10 17:53:14 [debug] 15801#0: *37 generic phase: 5
2017/10/10 17:53:14 [debug] 15801#0: *37 access phase: 6
2017/10/10 17:53:14 [debug] 15801#0: *37 access phase: 7
2017/10/10 17:53:14 [debug] 15801#0: *37 post access phase: 8
2017/10/10 17:53:14 [debug] 15801#0: *37 http init upstream, client timer: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 epoll add event: fd:3 op:3 ev:80000005
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SCRIPT_FILENAME"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "/scripts"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SCRIPT_FILENAME: /scripts/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "QUERY_STRING"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "QUERY_STRING: "
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "REQUEST_METHOD"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "GET"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "REQUEST_METHOD: GET"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "CONTENT_TYPE"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "CONTENT_TYPE: "
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "CONTENT_LENGTH"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "CONTENT_LENGTH: "
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SCRIPT_NAME"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SCRIPT_NAME: /aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "REQUEST_URI"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "REQUEST_URI: /aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "DOCUMENT_URI"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "DOCUMENT_URI: /aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "DOCUMENT_ROOT"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "/home/userwww/liuyi/nginx.1.12.1/install/html"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "DOCUMENT_ROOT: /home/userwww/liuyi/nginx.1.12.1/install/html"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SERVER_PROTOCOL"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "HTTP/1.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "REQUEST_SCHEME"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "http"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "REQUEST_SCHEME: http"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: ""
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "GATEWAY_INTERFACE"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "CGI/1.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SERVER_SOFTWARE"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "nginx/"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "1.12.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SERVER_SOFTWARE: nginx/1.12.1"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "REMOTE_ADDR"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "192.168.22.103"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "REMOTE_ADDR: 192.168.22.103"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "REMOTE_PORT"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "2923"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "REMOTE_PORT: 2923"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SERVER_ADDR"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "172.28.250.184"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SERVER_ADDR: 172.28.250.184"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SERVER_PORT"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "8099"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SERVER_PORT: 8099"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "SERVER_NAME"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script var: "localhost"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "SERVER_NAME: localhost"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "REDIRECT_STATUS"
2017/10/10 17:53:14 [debug] 15801#0: *37 http script copy: "200"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "REDIRECT_STATUS: 200"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_HOST: 172.28.250.184:8099"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_USER_AGENT: Mozilla/5.0 (Windows NT 5.1; rv:44.0) Gecko/20100101 Firefox/44.0"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_ACCEPT_LANGUAGE: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_ACCEPT_ENCODING: gzip, deflate"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_CONNECTION: keep-alive"
2017/10/10 17:53:14 [debug] 15801#0: *37 fastcgi param: "HTTP_CACHE_CONTROL: max-age=0"
2017/10/10 17:53:14 [debug] 15801#0: *37 http cleanup add: 00000000066FC828
2017/10/10 17:53:14 [debug] 15801#0: *37 get rr peer, try: 1
2017/10/10 17:53:14 [debug] 15801#0: *37 stream socket 9
2017/10/10 17:53:14 [debug] 15801#0: *37 epoll add connection: fd:9 ev:80000005
2017/10/10 17:53:14 [debug] 15801#0: *37 connect to 192.168.22.103:9000, fd:9 #38
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream connect: -2
2017/10/10 17:53:14 [debug] 15801#0: *37 posix_memalign: 00000000066F7580:128 @16
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer add: 9: 60000:1507629254716
2017/10/10 17:53:14 [debug] 15801#0: *37 http finalize request: -4, "/aa.php?" a:1, c:2
2017/10/10 17:53:14 [debug] 15801#0: *37 http request count:2 blk:0
2017/10/10 17:53:14 [debug] 15801#0: timer delta: 0
2017/10/10 17:53:14 [debug] 15801#0: worker cycle
2017/10/10 17:53:14 [debug] 15801#0: epoll timer: 60000
2017/10/10 17:53:14 [debug] 15801#0: epoll: fd:3 ev:0004 d:00002AD1E49F91D1
2017/10/10 17:53:14 [debug] 15801#0: *37 http run request: "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream check client, write event:1, "/aa.php"
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream recv(): -1 (11: Resource temporarily unavailable)
2017/10/10 17:53:14 [debug] 15801#0: timer delta: 1
2017/10/10 17:53:14 [debug] 15801#0: worker cycle
2017/10/10 17:53:14 [debug] 15801#0: epoll timer: 59999
2017/10/10 17:53:14 [debug] 15801#0: epoll: fd:9 ev:0004 d:00002AD1E49F92B1
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream request: "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream send request handler
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream send request
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream send request body
2017/10/10 17:53:14 [debug] 15801#0: *37 chain writer buf fl:0 s:824
2017/10/10 17:53:14 [debug] 15801#0: *37 chain writer in: 00000000066FC868
2017/10/10 17:53:14 [debug] 15801#0: *37 writev: 824 of 824
2017/10/10 17:53:14 [debug] 15801#0: *37 chain writer out: 0000000000000000
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer del: 9: 1507629254716
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer add: 9: 60000:1507629254717
2017/10/10 17:53:14 [debug] 15801#0: timer delta: 0
2017/10/10 17:53:14 [debug] 15801#0: worker cycle
2017/10/10 17:53:14 [debug] 15801#0: epoll timer: 60000
2017/10/10 17:53:14 [debug] 15801#0: epoll: fd:9 ev:0005 d:00002AD1E49F92B1
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream request: "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream process header
2017/10/10 17:53:14 [debug] 15801#0: *37 malloc: 00000000066FCE20:4096
2017/10/10 17:53:14 [debug] 15801#0: *37 recv: fd:9 93 of 4096
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 01
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 06
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 01
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 45
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record length: 69
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi parser: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi header: "Content-Type: text/html"
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi parser: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi header: "Content-Length: 7"
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi parser: 1
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi header done
2017/10/10 17:53:14 [debug] 15801#0: *37 HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Tue, 10 Oct 2017 09:53:14 GMT
Content-Type: text/html
Content-Length: 7
Connection: keep-alive
2017/10/10 17:53:14 [debug] 15801#0: *37 write new buf t:1 f:0 00000000066FCAA0, pos 00000000066FCAA0, size: 146 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http write filter: l:0 f:0 s:146
2017/10/10 17:53:14 [debug] 15801#0: *37 http cacheable: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream process upstream
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe read upstream: 1
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe preread: 23
2017/10/10 17:53:14 [debug] 15801#0: *37 readv: 1, last:4003
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe recv chain: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe buf free s:0 t:1 f:0 00000000066FCE20, pos 00000000066FCE66, size: 23 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe length: -1
2017/10/10 17:53:14 [debug] 15801#0: *37 input buf #0 00000000066FCE66
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 01
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 07
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 01
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record length: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 01
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 03
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 01
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record byte: 00
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi record length: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http fastcgi sent end request
2017/10/10 17:53:14 [debug] 15801#0: *37 input buf 00000000066FCE66 7
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe write downstream: 1
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe write downstream flush in
2017/10/10 17:53:14 [debug] 15801#0: *37 http output filter "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http copy filter: "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http postpone filter "/aa.php?" 00000000066FCC50
2017/10/10 17:53:14 [debug] 15801#0: *37 write old buf t:1 f:0 00000000066FCAA0, pos 00000000066FCAA0, size: 146 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 write new buf t:1 f:0 00000000066FCE20, pos 00000000066FCE66, size: 7 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http write filter: l:0 f:0 s:153
2017/10/10 17:53:14 [debug] 15801#0: *37 http copy filter: 0 "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 pipe write downstream done
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer: 9, old: 1507629254717, new: 1507629254718
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream exit: 0000000000000000
2017/10/10 17:53:14 [debug] 15801#0: *37 finalize http upstream request: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 finalize http fastcgi request
2017/10/10 17:53:14 [debug] 15801#0: *37 free rr peer 1 0
2017/10/10 17:53:14 [debug] 15801#0: *37 close http upstream connection: 9
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 00000000066F7580, unused: 48
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer del: 9: 1507629254717
2017/10/10 17:53:14 [debug] 15801#0: *37 reusable connection: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http upstream temp fd: -1
2017/10/10 17:53:14 [debug] 15801#0: *37 http output filter "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http copy filter: "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http postpone filter "/aa.php?" 00007FFF70A44110
2017/10/10 17:53:14 [debug] 15801#0: *37 write old buf t:1 f:0 00000000066FCAA0, pos 00000000066FCAA0, size: 146 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 write old buf t:1 f:0 00000000066FCE20, pos 00000000066FCE66, size: 7 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 write new buf t:0 f:0 0000000000000000, pos 0000000000000000, size: 0 file: 0, size: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 http write filter: l:1 f:0 s:153
2017/10/10 17:53:14 [debug] 15801#0: *37 http write filter limit 0
2017/10/10 17:53:14 [debug] 15801#0: *37 writev: 153 of 153
2017/10/10 17:53:14 [debug] 15801#0: *37 http write filter 0000000000000000
2017/10/10 17:53:14 [debug] 15801#0: *37 http copy filter: 0 "/aa.php?"
2017/10/10 17:53:14 [debug] 15801#0: *37 http finalize request: 0, "/aa.php?" a:1, c:1
2017/10/10 17:53:14 [debug] 15801#0: *37 set http keepalive handler
2017/10/10 17:53:14 [debug] 15801#0: *37 http close request
2017/10/10 17:53:14 [debug] 15801#0: *37 http log handler
2017/10/10 17:53:14 [debug] 15801#0: *37 posix_memalign: 00000000066FDE30:4096 @16
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 00000000066FCE20
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 0000000006706650, unused: 0
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 00000000066FBE10, unused: 136
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 00000000066FDE30, unused: 3879
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 00000000067104F0
2017/10/10 17:53:14 [debug] 15801#0: *37 hc free: 0000000000000000
2017/10/10 17:53:14 [debug] 15801#0: *37 hc busy: 0000000000000000 0
2017/10/10 17:53:14 [debug] 15801#0: *37 tcp_nodelay
2017/10/10 17:53:14 [debug] 15801#0: *37 reusable connection: 1
2017/10/10 17:53:14 [debug] 15801#0: *37 event timer add: 3: 65000:1507629259718
2017/10/10 17:53:14 [debug] 15801#0: *37 post event 000000000671F500
2017/10/10 17:53:14 [debug] 15801#0: timer delta: 1
2017/10/10 17:53:14 [debug] 15801#0: posted event 000000000671F500
2017/10/10 17:53:14 [debug] 15801#0: *37 delete posted event 000000000671F500
2017/10/10 17:53:14 [debug] 15801#0: *37 http keepalive handler
2017/10/10 17:53:14 [debug] 15801#0: *37 malloc: 00000000067104F0:1024
2017/10/10 17:53:14 [debug] 15801#0: *37 recv: fd:3 -1 of 1024
2017/10/10 17:53:14 [debug] 15801#0: *37 recv() not ready (11: Resource temporarily unavailable)
2017/10/10 17:53:14 [debug] 15801#0: *37 free: 00000000067104F0
2017/10/10 17:53:14 [debug] 15801#0: worker cycle
2017/10/10 17:53:14 [debug] 15801#0: epoll timer: 65000