본문 바로가기

lighttpd4

우분투 20.04에서 lighttpd의 fastcgi 개념 및 사용법 Web server에서 CGI는 하나의 요청(request)에 하나의 프로세스를 생성한다. 이것은 프로세스를 생성하고 제거하는 과정에서 많은 부하가 발생하기 때문에 성능이 느릴 수 있습니다. 이를 개선한 것이 'FastCGI'입니다. FastCGI는 요청이 있을 때마다 프로세스가 만들어지는 것이 아니라 만들어진 프로세스가 계속해서 새로운 요청들을 처리하여 프로세스를 생성하고 제거하는 부하를 줄일 수 있습니다. 개념은 아래 lighttpd 문서를 참고해주세요. * 출처: /usr/share/doc/lighttpd/fastcgi.txt CGI programs have the problem that they have to be restarted by the webserver for every request w.. 2020. 8. 10.
Web 서버 GET/POST CGI 사용법 (QUERY_STRING / CONTENT_LENGTH) 이전 포스팅에서 ① 우분투 20.04에서 lighttpd 설치 ② CGI 모듈 enable 및 설정 파일을 설명했습니다. 본 포스팅은 HTTP의 GET과 POST Method에 대응하는 CGI 프로그램 작성 방법에 설명하고자 합니다. CGI 프로그램으로의 정보 입력은 명령줄 인수, 환경변수, 표준 입력에 의해 이루어지며, GET METHOD 인 경우에는 QUERY_STRING을 통해서 파라미터를 얻을 수 있고, POST METHOD 인 경우네는 CONTENT_LENGTH와 표준 입력에 parmeter를 전달받을 수 있습니다. CGI 프로그램으로의 정보 입력은 명령줄 인수, 환경변수, 표준 입력에 의해 이루어진다. 특히, 클라이언트가 서버에 요구한 URI의 안, 검색문자열(Query String)이 환경변.. 2020. 8. 7.
우분투 20.04에서 lighttpd CGI 설정 방법 및 C와 Python 예제 코드 CGI (Common Gate Interface)는 사용자 Browser에서 URL 요청을 받아서 Web 서버의 특정 위치의 프로그램을 실행하도록 하는 표준 규약을 의미합니다. 이전 포스팅에서는 lighttpd 설치 방법에 대해서 설명했고, 본 포스팅에서는 CGI의 최소 프로그램인 Hello world로 출력하는 방법에 대해서 설명하고, 다음 포스팅에서 GET과 POST Mehtod의 사용법에 대해서 설명할 예정입니다. 위키백과에서는 CGI를 다음과 같이 요약하고 있습니다. 중요한 키워드로 '환경 변수', '표준 입력', 'QUERY_STRING (GET method)', 'CONTENTS LENGTH (POST method)' 정도로 설명할 수 있습니다. CGI 프로그램은 웹 서버가 클라이언트로부터 요.. 2020. 8. 6.
우분투 20.04에서 lighttpd Web Server 설치 (Embedded용으로 활용 가능) Apache Web Server 가 가장 오래 사용되어 왔고, Web Server의 점유율 또한 1등 입니다. 하지만 Apache Web서버는 기능적으로 풍부하기 때문에 다소 무거운 감이 있어 제한된 리소스에서 동작하는 임베디드 시스템에는 적합하지 않습니다. 임베디드 시스템에 사용하기 위해서는 ① Web Server 자체가 경량화되어 작아야 하며, ② ARM으로 cross-compile이 가능하고, ③ 상용화하는 경우 오픈 소스 라이선스에 문제가 없어야 합니다. 이러한 조건을 만족하는 Web server 중 하나가 lighttpd (발음: 라이팃)입니다. lighttpd는 Revised BSD 라이선스로 GPL과는 달리 상용화 시 수정한 부분에 대해서 소스 전체를 오픈할 의무가 없습니다. ** 참고 내용.. 2020. 8. 6.