今天晚饭后抽了点闲功夫,把mrtg、awstats和bugzilla都移到的lighttpd下,于是把之前单独为这几个东西跑的apache停了,全部使用lighttpd提供web服务,系统开销又能小一些。
mrtg很容易移植,几乎不用配置甚么就可以了,awstats和bugzilla都是perl的,需要配置lighttpd的cgi支持,简单的使用下面一行即可搞定awstats的移植
[coolcode]
$HTTP[“url”] =~ “^/awstats/” {
cgi.assign = (
“.pl” => “/usr/bin/perl”,
“.cgi” => “/usr/bin/perl”
)
}
[/coolcode]
不过照着上面的代码设置bugzilla的时候却遇到了问题,bugzilla的每个文件里面第一行的perl命令后加入了 -wT参数,在lighhtpd下以cgi模式运行会报 500 错误,尝试修改了index.cgi,去掉 -wT参数后可以正常运行,于是使用了下面的一句命令,把全部的cgi文件中-wT参数都给去掉了,这句命令估计对很多人都能有帮助:)
[coolcode]
sed -in-place -e “s/ -wT/ /g” `grep ” -wT” -l ./*.cgi`
[/coolcode]
搞定!
逐渐的,我开始抛弃Apache了。
学习一下
[Comment ID #13713 Will Be Quoted Here]
欢迎交流 🙂
的确lighttpd很有搞头。
apache的很多tuning已经成为定式,不可能再有太大的跨越。
老兄的网站为什么从apache=》lighttpd又转nginx了
[Comment ID #22482 Will Be Quoted Here]
尝试不同的平台,测试各自不同的特点和性能。
另外,Apache功能丰富,但是往往我们要不了那么多功能,Lighttpd更简单轻便,配置也容易些。
后来对Nginx有兴趣是因为一方面Lighttpd因为被收购的问题,今后更新会很慢。另一方面是Nginx经过测试,性能的确不比Lighttpd差,很值得关注。
关于lighttpd的一个困扰 希望老师能够指点下
就是我用freebsd+lighttpd+php+mysql做web虚拟主机
比如说服务器上有4个用户
服务器的web根目录
/home/wwwroot/
用户目录
/home/wwwroot/user1
/home/wwwroot/user2
/home/wwwroot/user3
/home/wwwroot/user4
我想限制每个用户只能在自己的目录进行读写操作,不能转到别人的目录 我该怎么设置?
我用
fastcgi.server = ( “.php” =>
( “localhost” =>
(“socket” => “/var/run/lighttpd/php-fastcgi.socket”,
“bin-path” => “/usr/local/bin/php-cgi -d open_basedir=/home/wwwroot/”
)
)
)
这样 只能限制用户访问web根目录以外的目录 不能做到各用户目录的限制!
我在 每个用户的$HTTP[“host”] 里面全部加上 上面的代码 只有位置在第一的虚拟主机可以正常解析PHP 后面的虚拟主机就全部不能工作了
请教下老师 我想限制user1 user2 user3 user4之间禁止目录的互相跳转 我该怎么做??
[Comment ID #26011 Will Be Quoted Here]
你是限制你的user从网站上访问时只能访问某个目录,还是限制你的系统用户远程登录到服务器上后只能访问某个目录? 这两个时有差别的,仅仅只是设置lighttpd来达到访问限制,需要使用auth模块来设置,那个貌似不是你想说的问题。
Michael 最近再看mod_rewrite模块,因为我的论坛一天的帖子近万贴,导致服务器速度相当的慢了。我使用的是局域网,每台机器都能确保有一个唯一的IP,所以准备找一个前置机做一个土办法的集群,判断如果是192.168.1.*那么都访问A机器,如果是192.168.2.*都访问B机器,请问Michael 如何在apache的httpd.conf中配置呢?给点提示吧
[Comment ID #26728 Will Be Quoted Here]
内部访问看是用域名还是用IP地址
如果内部用域名来访问
直接做DNS RR
多做几条一样域名的A记录指向不同的服务器IP就可以了.
内部访问用的IP地址。DNS 轮询需要负载均衡器啊,这玩意价值不菲,买不起所以只好想了这么个办法了
DNS轮询只需要一台DNS服务器
用486也可以做的
就是同一个二级域名做多条A记录.
http://www.test.com A 192.168.0.1
http://www.test.com A 192.168.0.2
http://www.test.com A 192.168.0.3
这样就OK了.
用IP地址,然后分发的话
前面加一台LVS好了
或者把其中的某一台加成LVS就可以了
http://www.hiadmin.com/?p=36
你好Michael,我刚开始学习Lighttpd,想请教一下在windows下如何将Lighttpd设置成系统服务,或者能够开机启动。
现在我启动Lighttpd是使用的bat文件,一般在退出远程服务器的时候需要注销用户,所以Lighttpd服务经常会被关闭。有没有一种办法可以让Lighttpd像IIS一样在windows下运行。
[Comment ID #27158 Will Be Quoted Here]
Windows上我没有配置过系统服务的方式运行lighttpd,貌似当初我也尝试这样搞过,没有成功,最后还是搞成bat文件运行的方式。
如果你想让服务启动的时候自动运行,可以把那个要运行的bat程序放到windows的“启动”里面。
说实话,在windows上运行lighttpd不是好的选择,因为它不能运行php的fastcgi模式,建议还是在linux上运行或者在windows上选择apache。