把mrtg、awstats和bugzilla都移到了lighttpd下

  今天晚饭后抽了点闲功夫,把mrtg、awstats和bugzilla都移到的lighttpd下,于是把之前单独为这几个东西跑的apache停了,全部使用lighttpd提供web服务,系统开销又能小一些。

  mrtg很容易移植,几乎不用配置甚么就可以了,awstats和bugzilla都是perl的,需要配置lighttpd的cgi支持,简单的使用下面一行即可搞定awstats的移植

$HTTP["url"] =~ "^/awstats/" {
        cgi.assign = (
            ".pl" => "/usr/bin/perl",
            ".cgi" => "/usr/bin/perl"
            )
}

  不过照着上面的代码设置bugzilla的时候却遇到了问题,bugzilla的每个文件里面第一行的perl命令后加入了 -wT参数,在lighhtpd下以cgi模式运行会报 500 错误,尝试修改了index.cgi,去掉 -wT参数后可以正常运行,于是使用了下面的一句命令,把全部的cgi文件中-wT参数都给去掉了,这句命令估计对很多人都能有帮助:)

sed -in-place -e "s/ -wT/ /g" `grep " -wT" -l ./*.cgi`

  搞定!

  逐渐的,我开始抛弃Apache了。

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
13 Responses
  1. sandy says:

    学习一下

  2. Michael says:

    [Comment ID #13713 Will Be Quoted Here]

    欢迎交流 🙂

  3. Lyychee says:

    的确lighttpd很有搞头。
    apache的很多tuning已经成为定式,不可能再有太大的跨越。

  4. 篱笆墙外 says:

    老兄的网站为什么从apache=》lighttpd又转nginx了

  5. Michael says:

    [Comment ID #22482 Will Be Quoted Here]

    尝试不同的平台,测试各自不同的特点和性能。

    另外,Apache功能丰富,但是往往我们要不了那么多功能,Lighttpd更简单轻便,配置也容易些。
    后来对Nginx有兴趣是因为一方面Lighttpd因为被收购的问题,今后更新会很慢。另一方面是Nginx经过测试,性能的确不比Lighttpd差,很值得关注。

  6. unrulyboy says:

    关于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之间禁止目录的互相跳转 我该怎么做??

  7. Michael says:

    [Comment ID #26011 Will Be Quoted Here]

    你是限制你的user从网站上访问时只能访问某个目录,还是限制你的系统用户远程登录到服务器上后只能访问某个目录? 这两个时有差别的,仅仅只是设置lighttpd来达到访问限制,需要使用auth模块来设置,那个貌似不是你想说的问题。

  8. phper says:

    Michael 最近再看mod_rewrite模块,因为我的论坛一天的帖子近万贴,导致服务器速度相当的慢了。我使用的是局域网,每台机器都能确保有一个唯一的IP,所以准备找一个前置机做一个土办法的集群,判断如果是192.168.1.*那么都访问A机器,如果是192.168.2.*都访问B机器,请问Michael 如何在apache的httpd.conf中配置呢?给点提示吧

  9. 代码罐头 says:

    [Comment ID #26728 Will Be Quoted Here]

    内部访问看是用域名还是用IP地址
    如果内部用域名来访问
    直接做DNS RR
    多做几条一样域名的A记录指向不同的服务器IP就可以了.

  10. phper says:

    内部访问用的IP地址。DNS 轮询需要负载均衡器啊,这玩意价值不菲,买不起所以只好想了这么个办法了

  11. 代码罐头 says:

    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

  12. Steven says:

    你好Michael,我刚开始学习Lighttpd,想请教一下在windows下如何将Lighttpd设置成系统服务,或者能够开机启动。

    现在我启动Lighttpd是使用的bat文件,一般在退出远程服务器的时候需要注销用户,所以Lighttpd服务经常会被关闭。有没有一种办法可以让Lighttpd像IIS一样在windows下运行。

  13. Michael says:

    [Comment ID #27158 Will Be Quoted Here]

    Windows上我没有配置过系统服务的方式运行lighttpd,貌似当初我也尝试这样搞过,没有成功,最后还是搞成bat文件运行的方式。

    如果你想让服务启动的时候自动运行,可以把那个要运行的bat程序放到windows的“启动”里面。

    说实话,在windows上运行lighttpd不是好的选择,因为它不能运行php的fastcgi模式,建议还是在linux上运行或者在windows上选择apache。

Leave a Reply

Your email address will not be published. Required fields are marked *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image