server Lighttpd 설치

2010.05.11 19:38

Elkha 조회 수:20321

참고 문서  

lighttpd.png

지금 보고 계시는 사이트의 서버를 구축하는 내용입니다. (32bit CentOS)
저는 이 분야에 관한 지식이 깊지 않으며, 정확하지 않은 내용이 있을 수도 있습니다.

들어가기에 앞서

저는 VPS(가상호스팅)사용자로, 서버정보에 나와있듯이 256MB 메모리의 시스템으로 서버를 구축하려 했습니다. 처음엔 Apache 에서 서버를 운영했지만 XE운용시 메모리 부족, 서버 강제종료가 발생할 가능성이 높아보여 대체 웹 서버가 필요했습니다. (아니면 서버를 업글하든지요 ㅡ,.ㅡ)

 Hostple의 운영자 가루군님은 Apache 보다 가벼운 Lighttpd, Ngnix 웹 서버를 추천해주셨고 저는 Ngnix 설치를 시도했습니다. Ngnix 제작자가 러시아 사람이라는 말이 있던데.. 설치하다가 막히는 부분이 있어도 매뉴얼 찾기가 힘들더군요.

 이후 Lighttpd 으로 시선을 돌렸고 많은 시행착오를 겪었지만 결국 성공적으로 설치했습니다. 그 증거로 이 서버가 Lighttpd 입니다 -_-v

 목적은 메모리 절약이었으나 의외로 상당한 속도를 내주더군요.(페놈 덕분인가?)
전에 구축했던 Apache mpm=worker 보다 빠른걸 체감할 수 있을 정도니 말입니다.
원래 목표인 메모리 점유율은 달라진 점이 없는데.. 접속자가 몰리는 때는 좀 다를것이라 기대합니다.

Lighttpd 설치

처음에는 컴파일을 시도했지만 몇 번의 시행착오를 겪고 yum 으로 설치하기로 했습니다.
다른건 다 컴파일 해놓고 이 녀석만 yum 처리한다는게 참 아쉽습니다.
(지금은 컴파일 할 수 있을 듯.. -_-++)

# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# yum install lighttpd
# yum install lighttpd-fastcgi
# vi /etc/lighttpd.conf

# 사용할 모듈
server.modules  = (
 "mod_rewrite",
 "mod_redirect",
 "mod_fastcgi",
 "mod_compress",
 "mod_accesslog",
 "mod_extforward" )

# php 연동
fastcgi.server = ( ".php" =>
   ( "localhost" =>
     ("socket" => "/tmp/php-fastcgi.socket",
      "bin-path" => "/usr/local/php/bin/php-cgi" )
) )

# XE rewrite mod (XE 설치경로가 /xe/ 인 경우)
url.rewrite = (
  "^/xe/([a-zA-Z0-9_]+)/files/attach/images/(.*)" => "./xe/files/attach/images/$2",
  "^/xe/([a-zA-Z0-9_]+)/modules/(.*)" => "./xe/modules/$2",
  "^/xe/([a-zA-Z0-9_]+)/common/(.*)" => "./xe/common/$2",
  "^/xe/([a-zA-Z0-9_]+)/([[:digit:]]+)page$" => "./xe/index.php?mid=$1&page=$2",
  "^/xe/rss/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$" => "./xe/index.php?module=rss&act=rss&start_date=$1&end_date=$2&page=$3",
  "^/xe/rss/([[:digit:]]+)$" => "./xe/index.php?module=rss&act=rss&page=$1",
  "^/xe/rss$" => "./xe/index.php?module=rss&act=rss",
  "^/xe/admin$" => "./xe/index.php?module=admin",
  "^/xe/([a-zA-Z0-9_]+)/api$" => "./xe/index.php?mid=$1&act=api",
  "^/xe/([[:digit:]]+)$" => "./xe/index.php?document_srl=$1",
  "^/xe/([[:digit:]]+)/([a-zA-Z0-9_]+)$" => "./xe/index.php?document_srl=$1&act=$2",
  "^/xe/([[:digit:]]+)/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$" => "./xe/index.php?document_srl=$1&act=$3&key=$2",
  "^/xe/([a-zA-Z0-9_]+)/([[:digit:]]+)$" => "./xe/index.php?mid=$1&document_srl=$2",
  "^/xe/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$" => "./xe/index.php?mid=$1&act=$2",
  "^/xe/([a-zA-Z0-9_]+)/page/([[:digit:]]+)$" => "./xe/index.php?mid=$1&page=$2",
  "^/xe/([a-zA-Z0-9_]+)/category/([[:digit:]]+)$" => "./xe/index.php?mid=$1&category=$2",
  "^/xe/([a-zA-Z0-9_]+)/category/([[:digit:]]+)/page/([[:digit:]]+)$" => "./xe/index.php?mid=$1&category=$2&page=$3",
  "^/xe/([a-zA-Z0-9_]+)/([[:digit:]]+)/([[:digit:]]+)$" => "./xe/index.php?mid=$1&search_target=regdate&search_keyword=$2$3",
  "^/xe/([a-zA-Z0-9_]+)/([[:digit:]]+)/([[:digit:]]+)/([[:digit:]]+)$" => "./xe/index.php?mid=$1&search_target=regdate&search_keyword=$2$3$4",
  "^/xe/([a-zA-Z0-9_]+)/tag/(.*)$" => "./xe/index.php?mid=$1&search_target=tag&search_keyword=$2",
  "^/xe/([a-zA-Z0-9_]+)/writer/(.*)$" => "./xe/index.php?mid=$1&search_target=nick_name&search_keyword=$2",
  "^/xe/([a-zA-Z0-9_]+)(/){0,1}$" => "./xe/index.php?mid=$1"
)

Lighttpd 추가 설정

http://www.elkha.kr으로 접속하면 주소가 elkha.kr 으로 바뀌게 됩니다.
이처럼 항상 www를 빼거나, 혹은 붙이도록 설정할 수 있습니다.

# www 뺄 경우
$HTTP["host"] =~ "^www.elkha.kr$" {
  url.redirect = ( "^/(.*)" => "http://elkha.kr/$1" )
}

# www 넣을 경우
$HTTP["host"] =~ "^elkha.kr$" {
  url.redirect = ( "^/(.*)" => "http://www.elkha.kr/$1" )
}

저처럼 VPS(가상 호스팅)사용자는 가상 아이피를 사용합니다.
서버에 찍히는 아이피를 정상적으로 출력하기 위해 Apache 에서 rpaf_module 모듈을 사용한 것처럼, Lighttpd 에는 mod_extforward 라는게 있습니다.

extforward.forwarder = (
   "61.251.165.104" => "trust",
   "61.251.165.105" => "trust"
)

기타..

내용 추가2010년 5월 18일 화요일

갑자기 서버의 에디터가 맛이 가는 상황이 발생했다. 원인은 모르고 이것저것 죽어라 삽질만 하던 중, compress 관련 모듈을 발견했다. 이 모듈을 건드리니까 에러가 해결되고 서버 속도가 더 빨라졌다 히히히

compress.cache-dir         = "/tmp"
compress.filetype          = ("text/plain", "text/html")

번호 제목 날짜 조회 수
71 검색엔진 등록 file 2010.05.12 141616
70 VPS (가상 호스팅) 비교 file 2010.05.12 61745
69 CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 29111
68 Linux Memory 사용량 file 2012.05.16 24794
67 리눅스 계정 생성/변경 [67] 2011.04.02 24541
66 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21211
65 마인크래프트 조합법 1 file 2011.04.01 21058
» Lighttpd 설치 file 2010.05.11 20321
63 sAPM file 2010.05.12 20142
62 php + ssh2 file 2010.06.05 20052
61 Linux 설치시 파티션 관리 file 2012.05.12 19043
60 Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18029
59 MySQL 설치 file 2010.05.11 16662
58 Apache 설치 file 2010.05.11 16543
57 ssh 로그인 제한 2011.04.05 16367
56 CentOS 6.2 다운로드 / 설치 [1] file 2012.04.15 16219
55 리눅스 자동 시작 file 2010.05.21 15784
54 솔라리스 mount options 2013.10.06 14999
53 PHP 설치 file 2010.05.11 14927
52 유닉스 계정 관리 2013.10.15 14428