正确Lighttp 301重定向设置,网上很多代码,多是不能使用,以下301重定向代码经站长工具查询,返回代码301状态,本站演示zairun.com
$HTTP["host"] =~ "^zairun.com$" { url.redirect = ( "^/(.*)" => "http://www.zairun.com/$1", ) }
正确Lighttp 301重定向设置,网上很多代码,多是不能使用,以下301重定向代码经站长工具查询,返回代码301状态,本站演示zairun.com
$HTTP["host"] =~ "^zairun.com$" { url.redirect = ( "^/(.*)" => "http://www.zairun.com/$1", ) }
为节省vps内存占用,提高浏览速度,终于把emlog搬到Lighttp上去了,酝酿了好几天,因为Lighttpd的教程少,有些规则都需要自己搞定,对不懂代码的自己倒是费尽了周折,还好,网站可以正常访问了,也顺便把从网上找的Lighttpd伪静态规则和自己添加的整理了一下,emlog新版Lighttpd伪静态规则网上很少,搜集了些添加了些应用自己博客使用的规则,算是最新Emlog伪静态规则完整版了。
$HTTP["host"] =~ "^zairun.com$" {
url.redirect = (
"^/(.*)" => "http://www.zairun.com/$1",
)
}
url.rewrite-once = (
"^(.*)/post-([0-9]+).html/comment-page-([0-9]+)$"=>"$1/index.php?post=$2&comment-page=$3",
"^(.*)/favicon.ico$" => "$1/favicon.ico",
"^(.*)/sitemap.xml$" => "$1/sitemap.xml",
"^(.*)/robots.txt$" => "/$1/robots.txt",
"^(.*)/wlwmanifest.xml$" => "$1/wlwmanifest.xml",
"^(.*)/guanyuwo.html$"=>"$1/index.php?guanyuwo=$2",
"^(.*)/liuyan.html$"=>"$1/index.php?liuyan=$2",
"^(.*)/author/([0-9]+)/page/([0-9]+)$"=>"$1/index.php?author=$2&page=$3",
"^(.*)/record/([0-9]+)/page/([0-9]+)$"=>"$1/index.php?record=$2&page=$3",
"^(.*)/sort/([zatan|xingqu|youwan|yangsheng|diannao|vps|zhuanzai|xiazai]+)/page/([0-9]+)$"=>"$1/index.php?sort=$2&page=$3",
"^(.*)/tag/(.+)/page/([0-9]+)$"=>"$1/index.php?tag=$2&page=$3",
"^(.*)/post-([0-9]+).html$"=>"$1/index.php?post=$2",
"^(.*)/author/([0-9]+)$"=>"$1/index.php?author=$2",
"^(.*)/record/([0-9]+)$"=>"$1/index.php?record=$2",
"^(.*)/sort/([zatan|xingqu|youwan|yangsheng|diannao|vps|zhuanzai|xiazai]+)$"=>"$1/index.php?sort=$2",
"^(.*)/tag/(.+)$"=>"$1/index.php?tag=$2",
"^(.*)/page/([0-9]+)$"=>"$1/index.php?page=$2"
)
下面这段301重定向,网上很多Lighttp 301重定向都是不能使用的。这个很好用添加后可以使用站长工具HTTP状态检测,返回状态码301。
$HTTP["host"] =~ "^zairun.com$" { url.redirect = ( "^/(.*)" => "http://www.zairun.com/$1", ) }
KLOXO 6.1.10升级到6.1.12导致切换到lighttpd出现500错误解决办法
yum downgrade php php-cli php-common php-devel php-gd php-imap php-mbstring php-mcrypt php-mysql php-pdo php-xml -y
Complete!
如果看到有Complete则证明已经修复成功。
另外,为了避免该情况继续发生,请进入Kloxo,常规设置,把“自动更新”的选项勾去掉并update保存。做完这些工作后,重启VPS就基本没有问题了。
解决kloxo切换lighttpd无法打开网站,有时出现500 Internal Server Errors错误。有时就是打开一片空白。这个问题让我郁闷了很久,今天下定决心解决他,试了无数的方法,也安装了很多次kloxo,最后终于搞定了。lighttpd下的网站可以访问了。apache好是好用,就是太占内存,对我来说用起来是很奢侈的东西,512内存的lighttpd的vps比1024内存的apache的vps还强大不多少。所以用lighttpd是我的选择,用kloxo+lighttpd以来遇到很多问题。一直把他记录下来。
其实解决解决kloxo切换lighttpd无法打开网站,500 Internal Server Errors很简单。。就一个命令、、降级所有php
yum downgrade php*
降级后就可以访问了。之后你可以升级
yum update php*
yum update php -y
这个问题的原因应该是安装kloxo时用到了yum命令与php不兼容。因为我测试过有的vps后台就可以直接安装带kloxo的系统切换lighttpd就不会有问题,但是一但使用yum命令安装什么组件的时候就会出现网站白板的问题。
Kloxo默认是使用apache作为web服务器,虽然apche稳定,不过现在也原来越臃肿。vps内存有限,能省则省一点吧。于是考虑更换更轻量级的web服务器。nginx、lighttpd都是不错的选择。kloxo默认支持lighttpd,比较方便管理。
kloxo切换nginx作为web服务器只需要在服务器(linux)——切换程序——网站中选择lighttpd,保存即可。
上述操作后,lighttpd应该就能够运行了,不过我的kloxo切换后网站访问403。到kloxo服务器(linux)——服务,查看lighttpd状态是未启动,尝试重启lighttpd,和kloxo,lighttpd仍无法启动。
ssh到服务器,后台手工启动lighttpd服务。
service lighttpd restart
提示服务停止failed,启动却ok。
查证一番,原来是kloxo和php版本5.2.*最新版本有冲突。尝试将php降级。
yum downgrade php* -y
service kloxo restart
再restart lighttpd,启动成功
最近使用这条降级命令失败,原因不清楚
使用
yum downgrade php*
降级后就可以访问了。之后你可以升级
yum update php*
然后在启动lighttpd服务成功。
service lighttpd restart
安装完lighttpd后,通过以下命令启动服务:
/etc/init.d/lighttpd start
查看如下目录文件,没有建立目录和文件
/srv/www/htdocs/
/var/log/lighttpd/
/etc/lighttpd/conf/webmail.conf
webmail.conf文件没有可见一空白文件。
/etc/lighttpd/conf/kloxo/virtualhost.conf
virtualhost.conf没有可见空白文件。
启动Lighttpd
service lighttpd restart
在kloxo面板上找到php配置,打开后显示的错误勾选,然后在SHH输入启动命令
其实/etc/lighttpd/lighttpd.conf文件是lighttpd服务的核心配置文件,如何建立网站虚拟目录,配置FASTCGI等等都在此文件中进行,LINUX较之WINDOWS缺乏的是可是化界面操作,这也是较少人接受的原因之一吧。。
关于lighttpd.conf文件的配置:
网站主目录:
server.document-root = “/home/skyweo/Development/PHP/testphp/”
错误日志目录:
server.errorlog = “/var/log/lighttpd/error.log”
这也是为什么要建立这两个目录的原因,若不存在/var/log/lighttpd/目录,则在启动lighttpd服务时,会因为无法创建error.log文件而报错。
一.软件介绍(apache lighttpd nginx)
1. lighttpd
Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。
Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。
Fastcgi的优点在于:
· 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑.
· 从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮,
· 从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1)
· 从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python…)
2.apache
apache是世界排名第一的web服务器, 根据netcraft所作的调查,世界上百分之五十以上的web服务器在使用apache.
1995年4月, 最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构, 由它来决定apache web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中.
apache 的特性:
1) 几乎可以运行在所有的计算机平台上.
2) 支持最新的http/1.1协议
3) 简单而且强有力的基于文件的配置(httpd.conf).
4) 支持通用网关接口(cgi)
5) 支持虚拟主机.
6) 支持http认证.
7) 集成perl.
集成的代理服务器
9) 可以通过web浏览器监视服务器的状态, 可以自定义日志.
10) 支持服务器端包含命令(ssi).
11) 支持安全socket层(ssl).
12) 具有用户会话过程的跟踪能力.
13) 支持fastcgi
14) 支持java servlets
3.nginx
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.
Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。
nginx做为HTTP服务器,有以下几项基本特性:
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
无缓存的反向代理加速,简单的负载均衡和容错.
FastCGI,简单的负载均衡和容错.
模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言,nginx比lighthttpd更胜一筹。
Nginx支持热部署。它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。
二.3种WEB服务器的比较:
server | Apache | Nginx | Lighttpd |
Proxy代理 | 非常好 | 非常好 | 一般 |
Rewriter | 好 | 非常好 | 一般 |
Fcgi | 不好 | 好 | 非常好 |
热部署 | 不支持 | 支持 | 不支持 |
系统压力比较 | 很大 | 很小 | 比较小 |
稳定性 | 好 | 非常好 | 不好 |
安全性 | 好 | 一般 | 一般 |
技术支持 | 非常好 | 很少 | 一般 |
静态文件处理 | 一般 | 非常好 | 好 |
Vhosts虚拟主机 | 支持 | 不支持 | 支持 |
反向代理 | 一般 | 非常好 | 一般 |
Session sticky | 支持 | 不支持 | 不支持 |
注:在相对比较大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用 Apache 这类传统 Web 服务器,似乎也还能撑过去。但有其很明显的弊端: Apache 在处理流量爆发的时候(比如爬虫或者是 Digg 效应) 很容易过载,这样的情况下采用 Nginx 最为合适。
建议方案:
Apache 后台服务器(主要处理php及一些功能请求 如:中文url)
Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)
Lighttpd 图片服务器
总体来说,随着nginx功能得完善将使他成为今后web server得主流。
1、lighttpd要实现301重定向功能需要更改其配置文件
2、配置文件路径:
/etc/lighttpd/conf/kloxo/lighttpd.domain.com
3、修改该配置文件:
$HTTP["host"] =~ “^zairun.com$” {
url.redirect = ( “^/(.*)” => “http://www.zairun.com/$1")
}
$HTTP["host"] =~ “^www.zairun.com$” {
url.redirect = ( “^/(.*)” => “http://www.zairun.com/")
}
5另、直接LIGHTTPD地址重写规则
$HTTP["host"] =~ “(www.zairun.com|zairun.com)” {
url.redirect = ( “^/(.*)” => “http://www.zairun.com/$1")
}
( lighttpd是一个轻量级的,速度非常快,安全的,免费的web服务器。功能类似apache,IIS,但是它的速度要快得多。特别是FastCGI,是所有的web服务器中最快的。)
Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。
lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。
实用起来lighttpd确实非常不错,apache主要的问题是密集并发下,不断的fork()和切换,以及较高(相对于 lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了Multiplex技术,代码经过优化,体积非常小,资源占用很低,而且反应速度相当快。
利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是2个数量级!
lighttpd 适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,同时也适合简单的CGI应用的场合。
( lighttpd是一个轻量级的,速度非常快,安全的,免费的web服务器。功能类似apache,IIS,但是它的速度要快得多。特别是FastCGI,是所有的web服务器中最快的。)
Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。
lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。
实用起来lighttpd确实非常不错,apache主要的问题是密集并发下,不断的fork()和切换,以及较高(相对于 lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了Multiplex技术,代码经过优化,体积非常小,资源占用很低,而且反应速度相当快。
利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是2个数量级!
lighttpd 适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,同时也适合简单的CGI应用的场合。
优点
内存占用非常之少,可以节省下来大量内存给应用和磁盘缓存。此外单进程减少很多不必要的 context switch , 在慢网并发连接时候非常明显了。
当然最明显的好处是比其他各色诡异 httpd 从功能上面更接近 apache, 迁移成本相对低一些。cgi/fcgi, rewrite, access, expire 这几个常见 module 都有,虚机的配置处理方式比 apache 直观很多,我一直觉得 apache 的虚机配置格式实在是很失
败的一个设计,一不小心请求就进错虚机了,调起来很郁闷, lig 的 url 和虚机处理格式
是统一的,很适合用来作统一入口。
缺点
1: 不支持 scriptalias , 对于一大目录 cgi 的应用(比如某邮件系统),非常难弄,有
个变通方法可以凑合用,但是要求所有 cgi 都是 binary 的,不能是脚本
2: 没有 mod_caucho/mod_jk ,带 resin 之类的只能用 mod_proxy, 但是 mod_proxy 过
去了就没有对方 IP 了,只能自己从 X-Forwarded-For 里面截,要改应用。
3: 经常有些小 bug 需要自己读代码找原因,比如 mod_proxy 对 3xx 的重定向请求处理有点问题,对1.4.8 的 mod_dirlisting 中文乱码等, apache 是基本这些小 bug 都被别人踩的差不多了
官方地址:http://www.lighttpd.net/
下载地址:http://www.lighttpd.net/download/lighttpd-1.4.16.tar.gz