Apache Web Server 가 가장 오래 사용되어 왔고, Web Server의 점유율 또한 1등 입니다. 하지만 Apache Web서버는 기능적으로 풍부하기 때문에 다소 무거운 감이 있어 제한된 리소스에서 동작하는 임베디드 시스템에는 적합하지 않습니다. 임베디드 시스템에 사용하기 위해서는 ① Web Server 자체가 경량화되어 작아야 하며, ② ARM으로 cross-compile이 가능하고, ③ 상용화하는 경우 오픈 소스 라이선스에 문제가 없어야 합니다. 이러한 조건을 만족하는 Web server 중 하나가 lighttpd (발음: 라이팃)입니다. lighttpd는 Revised BSD 라이선스로 GPL과는 달리 상용화 시 수정한 부분에 대해서 소스 전체를 오픈할 의무가 없습니다.
** 참고 내용 **
Nginx, Lighttpd, Monkey 등의 비교 설명은 링크 #1과 링크 #2를 참조 부탁드립니다. Embedded Web server 관련된 비교 설명은 링크 #3을 참조해주세요. 좀 오래된 버전이기 하지만 Embedded 보드에 Web server를 올리는 내용은 링크 #4를 참고해주세요.
Lighttpd 공식 Web site 설명입니다. 현재(20년 8월)는 1.4.55 버전이 최신 버전이며, 우분투 상에서는 소스를 직접 compile 할 필요는 없고 $ apt install 명령어로 설치 가능합니다.
lighttpd powers several popular Web 2.0 sites. Its high speed io-infrastructure allows them to scale several times better with the same hardware than with alternative web-servers.
This fast web server and its development team create a web-server with the needs of the future web in mind:
- Faster FastCGI
- COMET meets mod_mailbox
- Async IO
Its event-driven architecture is optimized for a large number of parallel connections (keep-alive) which is important for high performance AJAX applications.
lighttpd 설치
우분투 20.04에서 apt로 설치 가능한 lighttpd 모듈을 검색하면 아래와 같은 list가 표시됩니다. 이 중에서 기본 모듈인 lighttpd를 설치하고, 다른 모듈 (e.g. authn, vhostdb, mysql)은 필요시 설치합니다. lighttpd-doc는 각 모듈에 대한 설명 확인 시 필요하기 때문에 설치를 추천드립니다.
#lighttpd 관련 모듈 확인
$ sudo apt list | grep lighttpd
#lighttpd와 lighttpd-doc 설치
$ sudo apt install lighttpd lighttpd-doc
lighttpd 설치 사이즈는 대략 1.5MB 정도로 설치 파일 사이즈는 Apache2 (6MB 이상) 대비 정말 작습니다.
lighttpd설치가 완료되고, 서비스가 정상적으로 구동되었다면http://localhost로 접속하는 경우 아래와 같은 홈 페이지를 표시합니다.
lighttpd 실행 옵션
$ lighttpd 명령어 및 실행 옵셥
Document Root
/var/www/html --> index.lighttpd.html.html을 기본 설치됩니다.
lighttpd conf 설정 파일 확인
기본 설치되는 설정 파일은 확인하면 mod_indexfile, mod_access, mod_alias, mod_redirect은 기본 설정되어 되어 있습니다. 또한 홈페이지의 Document root 위치와 error log 위치, 웹 서버 port를 설정할 수 있습니다.
$ cat /etc/lighttpd/lighttpd.conf
lighttpd conf 변경 시 서비스 재 실행
lighttpd 설치 mod를 추가 삭제하거나 conf 파일을 변경하는 경우 서비스 restart 명령어를 사용할 수 있습니다.
#Run "service lighttpd force-reload" to enable changes
$ service lighttpd force-reload
→ Created symlink /etc/systemd/system/multi-user.target.wants/lighttpd.service
→ /lib/systemd/system/lighttpd.service.
관련 글
우분투 20.04에서 Apache와 Tomcat 완전 삭제 방법
우분투 20.04에서 Web 서버 설치 방법 (apache2, tomcat9)
파이썬으로 Apk Download 자동화: Selenium기반의 Apk 크롤러
로컬 PC에서 GCP VM에 로그인 없이 바로 SSH 접속: 다른 SSH 클라이언트 사용 및 SSH Key 등록
Google Cloud Platform을 활용하여 평생 '무료' PC 만들기
Service Account(JWT)을 활용한 Google Calendar API 사용
JWT(JSON Web Token) Encoding 방법 (Python sample code)
댓글