FastCGI 설치 및 사용 문제
안녕하세요. 읽어주셔서 감사하구요. 아직초보입니다. :)
1. FastCGI 타르볼 받아서 ./configure 하고 make 하고 make install 은 하지 않았습니다. 그냥 /usr/bin에 복사해서 넣었습니다.
2. web server 의 keepalivetimeout 을 30초로 주었습니다.
대략 소스는
#include "fcgi_stdio.h" #include <stdlib.h> // informix dbms 사용합니다. EXEC SQL include sqlca; //중략, 변수 선언등 main(){ while((test = FCGI_Accept()) >= 0 ){ printf("Content-type: text/html\r\n\r\n" "// 중략 -_-;; exit 나 return 코드는 없습니다. ); printf("test : %d \n",test); printf("FCGI_Accept() : %d \n",FCGI_Accept()); } } //중략
출력은 처음에 test 값은 0 이 나오구요 마지막의 FCGI_Accept 는 -1 이 출력됩니다. 그리곤, 프로세서가 죽어버립니다.
Initialization codeStart of response loop
body of response loop
End of response loop
The initialization code is run exactly once, when the application is initialized. Initialization code usually performs time-consuming operations such as opening databases or calculating values for tables or bitmaps.
The response loop runs continuously, waiting for client requests to arrive. The loop starts with a call to FCGI_Accept, a routine in the FastCGI library. The FCGI_Accept routine blocks program execution until a client requests the FastCGI application. When a client request comes in, FCGI_Accept unblocks, runs one iteration of the response loop body, and then blocks again waiting for another client request. The loop terminates only when the system administrator or the Web server kills the FastCGI application.
제가 영어가 딸리긴 하지만
위 코드를 컴파일해서 돌리면 프로세서가 계속 떠 있어야 하는것 아닌가요?
정상적인 경우 요청이 있을때까지 blocking 되다가 요청이 있으면 실행되는것 아닌가요?
FastCGI 써보시분 도움을.. 검색어가 틀렸는지.. 구글형님도 크게 도움이 안되더군요..
webserver 는 iplanet 6.0 을 사용합니다.
http://www.fastcgi.com/devkit/doc/fastcgi-prog-guide/ap_guide.htm 를 읽어봤는데, 아무래도
http://www.fastcgi.com/devkit/doc/fastcgi-prog-guide/apaman.htm#95860 부분에 답이 있을것 같아 읽어 봤지만 해석이 대충밖에 되질않아서...
고수님들 관련자료나 예제 있으면 부탁드립니다. 아니면 또다른 좋은 방법이라도..(속도때문에 cgi를 fastcgi로 컨버젼 할려고 합니다)
에휴.. :? 답글이 안올라 오네요.. 상용이라 그런가 봅니다.
에휴.. :?
답글이 안올라 오네요.. 상용이라 그런가 봅니다.(엔진니어에게 말했는데, 연락이 없네요)
한참을 뒤지다 보니 netscape 계열의 webserver 설정방법을 찾았습니다.
obj.conf 의 init section 에서 fastcgi.so 모듈을 load하고 fastcgi를 처리하면 될거라는(영어로 되어있어.. 제가좀 약해서) 글을 읽고
시도 해봤으나 .. 안되더군요..
버젼이 틀려서 그러나... -_-;;; (obj.conf 에는 init section이 없더군요..)
혹시나 사용하시는 분 계실까해서 답글 달아놓습니다~ :D
언제나 시작
댓글 달기