| 知乎专栏 | 
if you OS is Ubuntu/Debian
apt-get install lighttpdnetkiller@shenzhen:~$ sudo apt-get install lighttpd
the config file in /etc/lighttpd
netkiller@shenzhen:~/document/Docbook/Linux$ find /etc/lighttpd/ /etc/lighttpd/ /etc/lighttpd/lighttpd.conf /etc/lighttpd/conf-enabled /etc/lighttpd/conf-available /etc/lighttpd/conf-available/10-userdir.conf /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-available/10-cgi.conf /etc/lighttpd/conf-available/README /etc/lighttpd/conf-available/10-ssl.conf /etc/lighttpd/conf-available/10-proxy.conf /etc/lighttpd/conf-available/10-auth.conf /etc/lighttpd/conf-available/10-simple-vhost.conf /etc/lighttpd/conf-available/10-ssi.conf
Enabling and disabling modules could be done by provided e.g.
/usr/sbin/lighty-enable-mod fastcgi /usr/sbin/lighty-disable-mod fastcgi
when you enabled a mod please force-reload it
netkiller@shenzhen:/etc/lighttpd$ sudo lighty-enable-mod fastcgi Available modules: auth cgi fastcgi proxy simple-vhost ssi ssl userdir Already enabled modules: userdir Enabling fastcgi: ok Run /etc/init.d/lighttpd force-reload to enable changes netkiller@shenzhen:/etc/lighttpd$ sudo /etc/init.d/lighttpd force-reload * Stopping web server lighttpd [ OK ] * Starting web server lighttpd
# yum install lighttpd lighttpd-fastcgi -y # chkconfig lighttpd on
创建缓存目录
# mkdir -p /var/cache/lighttpd/compress # chown lighttpd:lighttpd -R /var/cache/lighttpd
禁用ipv6
# vim /etc/lighttpd/lighttpd.conf #server.use-ipv6 = "enable"
下载相关软件
$ sudo apt-get install libpcre3* cd /usr/local/src/ wget http://www.lighttpd.net/download/lighttpd-1.4.15.tar.gz tar zxvf lighttpd-1.4.15.tar.gz cd lighttpd-1.4.15
编译安装
./configure --prefix=/usr/local/lighttpd-1.4.15 \ --with-bzip2 \ --with-memcache make make install
创建目录与配置文件
ln -s /usr/local/lighttpd-1.4.15/ /usr/local/lighttpd mkdir -p /www/pages mkdir /www/logs mkdir /usr/local/lighttpd/htdocs mkdir /usr/local/lighttpd/logs mkdir /usr/local/lighttpd/etc cp ./doc/lighttpd.conf /usr/local/lighttpd/etc/ cd /usr/local/lighttpd/
配置lighttpd.conf
vi etc/lighttpd.conf找到 server.modules
删除 mod_fastcgi 前的注释
跟据你的需求修改下面定义
server.document-root = "/usr/local/lighttpd/htdocs/"
server.errorlog = "/usr/local/lighttpd/logs/lighttpd.error.log"
accesslog.filename = "/usr/local/lighttpd/logs/access.log"
注释 $HTTP["url"]
#$HTTP["url"] =~ "\.pdf$" {
#  server.range-requests = "disable"
#}
				
			运行lighttpd
/usr/local/lighttpd/sbin/lighttpd -f /usr/local/lighttpd/etc/lighttpd.conf
测试
curl http://ip/ 因为/www/pages/下没有HTML页面所以返回:
404 - Not Found
lighttpd script
例 40.1. /etc/init.d/lighttpd
					
#!/bin/bash
# lighttpd init file for web server
#
# chkconfig: - 100 100
# description: Security, speed, compliance, and flexibility--all of these describe LightTPD which is rapidly redefining efficiency of a webserver;
#				as it is designed and optimized for high performance environments.
# author: Neo Chen<openunix@163.com>
#
# processname: $PROG
# config:
# pidfile: /var/run/lighttpd
# source function library
. /etc/init.d/functions
PREFIX=/usr/local/lighttpd
PROG=$PREFIX/sbin/lighttpd
OPTIONS="-f /usr/local/lighttpd/etc/lighttpd.conf"
USER=daemon
RETVAL=0
prog="lighttpd"
start() {
        echo -n $"Starting $prog: "
        if [ $UID -ne 0 ]; then
                RETVAL=1
                failure
        else
                daemon --user=$USER $PROG $OPTIONS
                RETVAL=$?
                [ $RETVAL -eq 0 ] && touch /var/lock/subsys/lighttpd
        fi;
        echo
        return $RETVAL
}
stop() {
        echo -n $"Stopping $prog: "
        if [ $UID -ne 0 ]; then
                RETVAL=1
                failure
        else
                killproc $PROG
                RETVAL=$?
                [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/lighttpd
        fi;
        echo
        return $RETVAL
}
reload(){
        echo -n $"Reloading $prog: "
        killproc $PROG -HUP
        RETVAL=$?
        echo
        return $RETVAL
}
restart(){
	stop
	start
}
condrestart(){
    [ -e /var/lock/subsys/lighttpd ] && restart
    return 0
}
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart)
	restart
        ;;
  reload)
	reload
        ;;
  condrestart)
	condrestart
	;;
  status)
        status lighttpd
	RETVAL=$?
        ;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
	RETVAL=1
esac
exit $RETVAL