知乎专栏 |
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
例 39.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