Lighttpd (http://lighttpd.net/)和apache一样是开源的,与apache相比,虽然功能不及apache完善,稳定性 也不如apache,但是,不管是服务静态页面,还是服务动态内容(CGI,PHP),它都比apache快,用于ad banner之类的WEB服务器是最恰当不过了。 # 修改配置文件 配置文
Lighttpd
(http://lighttpd.net/)和apache一样是开源的,与apache相比,虽然功能不及apache完善,稳定性 也不如apache,但是,不管是服务静态页面,还是服务动态内容(CGI,PHP),它都比apache快,用于ad banner之类的WEB服务器是最恰当不过了。
# 修改配置文件
配置文件很直观明了,一般只要把server.document-root、server.errorlog、accesslog.filename
改成你的实际目录和文件名字就可以了。:
安装步骤
tar xfz pcre-7.8.tar.gz
tar xfj lighttpd-1.4.28.tar.bz2
提供正则表达式支持
cd pcre-7.8
./configure&&make&&make install
安装lighttpd
cd /root/lighttpd-1.4.28
./configure&&make&&make install
mkdir -p /srv/www/htdocs
cd /root/lighttpd-1.4.28/doc/config/
禁用ipv6
sed -i '/server.use-ipv6/s/enable/disable/' lighttpd.conf
mkdir -p /var/log/lighttpd
cd /var/log/lighttpd
建立错误日志
touch error.log
cd ../..
useradd lighttpd
修改权限
chown -R lighttpd.lighttpd log
chmod -R 777 log
cd /usr/local/sbin
./lighttpd -f /root/lighttpd-1.4.28/doc/config/lighttpd.conf
Lighttpd和OpenSSL
Lighttpd默认不编译ssl模块,所以必须在编译的时候明确指定 --with-openssl,然后再生成自签署的
服务器证书或者从CA那里获取
$ openssl req -new -x509 -keyout server.pem \
-out server.pem -days 365 -nodes
Lighttpd要求证书和私匙保存在同一个文件里,如果是分开的,则需要合并:
$ cat host.key host.crt > host.pem
配置lighttpd.conf,大致样子如下:
ssl.engine = "enable"
ssl.pemfile = "server.pem"
你可以针对某个虚拟主机做这样的设置,但是由于SSL工作在TCP层,所以不能设置基于名称的虚拟主机,只能设置基于端口的。 以下是一个配置样例:
$SERVER["socket"] == "192.168.146.128:443" {
ssl.engine = "enable"
ssl.pemfile = "/usr/local/lighttpd/certs/server.pem"
server.document-root = "/home/www/wfs/www"
}
配置虚拟主机
配置基于端口的虚拟主机上文有所描述,基于名称的虚拟主机也很简单。修改lighttpd.conf,启动模块mod_simple_vhost,然后指定你的虚拟主机信息,比如:
$HTTP["host"] == "news.example.org" {
server.document-root =
"/var/www/servers/news2.example.org/pages/"
}
Lighttpd注重于速度,而Apache注重于稳定性和功能
防盗链
#$HTTP["referer"] !~ "^($|http://.*.(chinafotopress.com|chinafotopress.cn))" {
# $HTTP["url"] =~ ".(jpg|jpeg|png|gif|rar|zip|mp3)$" {
# #url.redirect = (".*" => "http://www.baidu.com/")
# url.access-deny = (".jpg")
# }
#}
#$HTTP["referer"] == "" {
# $HTTP["url"] =~ ".(jpg|jpeg|png|gif|rar|zip|mp3)$" {
# #url.redirect = (".*" => "http://www.baidu.com/")
#
url.access-deny = (".jpg")
# }
#}
Nginx
目前官方 Nginx 并不支持 Windows,您只能在包括 Linux、UNIX、BSD 系统下安装和使用;
Nginx 本身只是一个 HTTP 和反向代理服务器,它无法像 Apache 一样通过安装各种模块来支持不同的页面脚本,例如 PHP、CGI 等;
Nginx 支持简单的负载均衡和容错;
支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有。
tar zxvf pcre-7.7.tar.gz
cd pcre-7.7
./configure&&make&& make install
tar zxvf nginx-0.6.31.tar.gz
cd nginx-0.6.31
./configure --with-http_stub_status_module –prefix=/opt/nginx&& make&& make install
安装成功后 /opt/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中 Nginx 的配置文件存放于 conf/nginx.conf,Nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin/nginx 命令来启动 Nginx
程序运行参数
Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
Nginx 监控
我们定义了一个 location ~ ^/NginxStatus/,这样通过 http://localhost/NginxStatus/ 就可以监控到 Nginx 的运行信息
NginxStatus 显示的内容意思如下:
active connections – 当前 Nginx 正处理的活动连接数。
server accepts handled requests -- 总共处理了 14553819 个连接 , 成功创建 14553819 次握手 ( 证明中间没有失败的 ), 总共处理了 19239266 个请求 ( 平均每次握手处理了 1.3 个数据请求 )。
reading -- nginx 读取到客户端的 Header 信息数。
writing -- nginx 返回给客户端的 Header 信息数。
waiting -- 开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。
延伸阅读:在Nginx上配置NameCheap免费SSLlighttpd 再爆漏洞 影响所有版本LuManager2.0beta2 - 可在Nginx、淘宝Tengine和Apache之间自由切换lighttpd 1.4.30发布lighttpd开启gzip压缩Lighttpd1.4.20服务端启用GZIP压缩mod_compress: Lighttpd Gzip Compression To Improve Download and Browsing Speed1月全球Web服务器份额:Nginx上升势头惊人nginx lighttpd apache间的区别 lighttpd,nginx,apache的性能负载比较