PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 服务器 >> 其他服务器 >> 

Lighttpd和Nginx安装配置方法

Lighttpd和Nginx安装配置方法

来源:phperz.com  作者:phperz.com  发布时间:2012-02-09
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免费SSL
lighttpd 再爆漏洞 影响所有版本
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 Speed
1月全球Web服务器份额:Nginx上升势头惊人
nginx lighttpd apache间的区别
lighttpd,nginx,apache的性能负载比较

Tags: 安装配置   nginx   lighttpd  
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号