Lighttpd与HHVM快速搭建方法-让小内存VPS主机体验极致PHP性能

VPS主机   2014年06月12日 17:21  

Lighttpd与HHVM快速搭建方法-让小内存VPS主机体验极致PHP性能

hhvm强大的PHP性能大家已经在HHVM安装使用教程中看到,同等条件下HHVM可以处理的Web请求吞吐量增加了9倍,而内存消耗减少5倍,如此高效率的PHP性能可以给一些大型的网站带来在速度优化方面的质的飞跃。

目前hhvm官方并没有标明HHVM适合多大内存的VPS主机来运行,但是为了能够充分发挥好hhvm在PHP性能提升的优势,VPS主机的服务器自然是配置高一点为好。hhvm与Nginx搭建是一个不错的选择,hhvm与apache结合不是很推荐。

这篇文章就是要说的是lighttpd与hhvm快速搭建方法,Lighttpd出自德国人,具有非常低的内存消耗、CPU占用率低、性能好以及丰富的模块等特点,支持FastCGI,CGI,Auth,输出压缩(output compress),URL重写,Alias等重要功能。

更多有关于VPS主机性能优化及加速的方法还有:

lighttpd与hhvm快速搭建方法-让小内存VPS主机体验极致PHP性能

一、 Apache、Nginx、Lighttpd三款软件性能比较

1、Apache 、Nginx 、Lighttpd这三个是现在比较流行的Web服务器软件,Lighttpd开发的初衷就是极低的内存消耗和CPU占用,因此它比较适合低内存的VPS主机使用。

2、而Apache和Nginx 等各有各的特点,关于这两者之间谁强谁弱尚存在不少的争议,下面是一个Apache Nginx Lighttpd三款软件性能比较图,大家能够观察各自的优缺点了。(点击放大)

Apache、Nginx、Lighttpd三款软件性能比较

二、hhvm、、Fastcgi安装方法

1、这里以Debian VPS例,先是HHVM的apt源。


wget https://dl.hhvm.com/conf/hhvm.gpg.key
sudo apt-key add hhvm.gpg.key
echo "deb https://dl.hhvm.com/debian wheezy main">> /etc/apt/sources.list
sudo apt-get update

HHVM添加安装源

2、 当我们添加好HHVM源以后,可以直接使用一条代码就安装完Lighttp 、HHVM 、Mysql和Fastcgi 。


sudo apt-get update
sudo apt-get remove apache2 apache2-*
sudo apt-get install lighttpd mysql-server hhvm #中间需要输入一次mysql密码
sudo /usr/share/hhvm/install_fastcgi.sh #安装Fastcgi
sudo update-rc.d hhvm defaults #添加到开机启动
sudo service hhvm restart #重启HHVM

hhvm、Lighttpd、Fastcgi安装方法

三、hhvm与Lighttpd配置方法

1、进入到/etc/lighttpd/conf-available,编辑10-fastcgi-hhvm.conf文件,输入下面保存。


server.modules += ("mod_fastcgi")
fastcgi.server = ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000"
))
)

Lighttpd修改配置文件

2、 接着我们开启Fastcgi 。


lighty-disable-mod fastcgi
lighty-enable-mod fastcgi-hhvm
lighty-enable-mod fastcgi-php
/etc/init.d/lighttpd force-reload

开启Fastcgi 插件

四、Lighttpd添加虚拟主机基本方法

1、Lighttpd添加虚拟主机。找到Lighttpd安装目录下的etc/lighttpd.conf文件,在最后添加(注意:如果是配置多个虚拟主机,只要重复添加代码即可):


$HTTP["host"] == "www.a.com" {
server.document-root = "网站的路径"
}

2、如果是多个域名指向同一个目录,代码是:


$HTTP["host"] =~ "^(www.a.com|a.com)$"{
server.document-root = "网站路径"
}

3、开启lighttpd的rewrite功能,方法是去掉lighttpd.conf里的mod_rewrite前面的#号,然后添加伪静态规则,例如Wordpress:


url.rewrite = (
    "^/(wp-.+).*/?" => "$0",
    "^/(sitemap.xml)" => "$0",
    "^/(xmlrpc.php)" => "$0",
    "^/(.+)/?$" => "/index.php/$1"
)

五、lighttpd与hhvm结合使用小结

1、lighttpd与hhvm结合的稳定性还需要观察,lighttpd是一个与Apache、Nginx不同的引擎,相关的配置、伪静态规则等都会不同,不熟悉的朋友建议使用Nginx,遇到问题网上的参考文档比较多。

2、lighttpd与hhvm结合主要是利用好各自的优点:省内存与高PHP性能,至于lighttpd与hhvm和Nginx与hhvm搭配两者孰优孰劣有兴趣的朋友可以自己测试一下,最好采用网站服务器压力Web性能测试

文章出自:Deamwork   由部落编辑整理,版权归原作者所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

十个便宜VPS主机分享-VPS服务器建站和搭建应用服务体验
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

在这个部落村庄里,已经有40 位神马家族成员冒出泡来在农场开始干活了
  • 233

    沙发

    悦听有声 回复:

    @233, 插队

    这是农场的第 1 块农田,部落批准 [233] 在[2014-6-12 17:44]开垦完成.
  • 天空酱 2

    这个。。。

    这是农场的第 2 块农田,部落批准 [天空酱] 在[2014-6-12 17:54]开垦完成.
  • 异次元sky 4

    看起来还行。

    这是农场的第 3 块农田,部落批准 [异次元sky] 在[2014-6-12 17:56]开垦完成.
  • longskay 5

    太深了

    这是农场的第 4 块农田,部落批准 [longskay] 在[2014-6-12 18:20]开垦完成.
  • Kung 23

    前排一下吧

    这是农场的第 5 块农田,部落批准 [Kung] 在[2014-6-12 18:20]开垦完成.
  • 寒冰 7

    好久没来了,上个月微软中国Windows Azure,6月3号才发送激活码,貌似昨天才发现,激活码过期了,激活码过期了各位大神有木有解决办法?如果是要打电话过去,需要准备哪些东西?谢谢了

    qi 回复:

    @寒冰, 有人说自己给客服发了邮件,然后对方 又给一个新的。

    队歌 回复:

    @qi, 我给客服说想取出服务器上的文件。 订阅就又给我续了

    这是农场的第 6 块农田,部落批准 [寒冰] 在[2014-6-12 18:43]开垦完成.
  • 超超 2

    前排哦~~~

    这是农场的第 7 块农田,部落批准 [超超] 在[2014-6-12 19:14]开垦完成.
  • 若水 16

    后排。

    这是农场的第 8 块农田,部落批准 [若水] 在[2014-6-12 20:27]开垦完成.
  • liouxunhuan

    QI大,什么时候能琢磨出一个LiteSpeed+hhvm那就牛B了,
    估计要LiteSpeed官方支持hhvm编译才行吧

    qi 回复:

    @liouxunhuan, 是的,因为hhvm支持FastCGI,所以LiteSpeed+hhvm应该可以整合起来。

    这是农场的第 9 块农田,部落批准 [liouxunhuan] 在[2014-6-12 22:18]开垦完成.
  • Jason 16

    打酱油

    这是农场的第 10 块农田,部落批准 [Jason] 在[2014-6-12 22:40]开垦完成.
  • 不认识 17

    php作为fastcgi运行的?

    这是农场的第 11 块农田,部落批准 [不认识] 在[2014-6-13 00:52]开垦完成.
  • musk100 6

    打酱油 暂时用不到

    这是农场的第 12 块农田,部落批准 [musk100] 在[2014-6-13 03:55]开垦完成.
  • 小鸡腿

    我在搬瓦工买的64m内存也能玩的么。。。。

    qi 回复:

    @小鸡腿, 估计不行,内存太小了。

    akw28888 回复:

    @qi, nginx+HHVM 128M搬瓦公能跑 裝完共吃70M…. 快爆了

    qi 回复:

    @akw28888, 能运行Wordpress吗?

    k 回复:

    @qi, 我有个搬瓦工的64M小jj,本来是作为shadows@ocks使用的,但是闲得无事,加上我想看看64m的极限在哪里,就用网上介绍的lighttpd+php+sqlite搭建了个服务器,顺便用个cf域名解析过去了,重启后看了一下内存,占用十几M,把我惊呆了,不知道是不是显示不准确,qi帮我测测能承受多少人访问呗?我测试那个网站本来是搭建在sae的,但是光是自己改代码发布文章都开始扣云豆了(我云豆只有1000来颗),还是typecho的,太受不了了,如果负载比sae强的话,我就搬了。

    这是农场的第 13 块农田,部落批准 [小鸡腿] 在[2014-6-13 07:11]开垦完成.
  • 潮流台 11

    :sad: 现在用不到

    这是农场的第 14 块农田,部落批准 [潮流台] 在[2014-6-13 12:42]开垦完成.
  • ytf4425 15

    后排……昨天遇到坑爹的事了,改好了我网站的所有谷歌连接,用git同步时发现22端口被封了。。。

    qi 回复:

    @ytf4425, 部分地区有这种情况。

    这是农场的第 15 块农田,部落批准 [ytf4425] 在[2014-6-13 14:16]开垦完成.
  • 我觉得,做网站还是LNMP好了,如果是折腾网站,可以都弄来耍耍。

    qi 回复:

    @1刀vps, 这个确实适合Geek

    这是农场的第 16 块农田,部落批准 [1刀vps] 在[2014-6-13 14:19]开垦完成.
  • 烟花菌

    其实文章在创建虚拟机时,姿势不太对。。这种方法虽然可以,但是不推荐。。来自lighttpd.info

    lzyg 回复:

    @烟花菌,能不能具体说说,方便后来人。

    这是农场的第 17 块农田,部落批准 [烟花菌] 在[2014-6-13 18:16]开垦完成.
  • lzyg

    root@goodbye:~# sudo apt-get install lighttpd mysql-server hhvm
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    hhvm : Depends: libboost-filesystem1.49.0 but it is not installable
    Depends: libboost-program-options1.49.0 but it is not installable
    Depends: libboost-system1.49.0 but it is not installable
    Depends: libboost-regex1.49.0 but it is not installable
    Depends: libicu48 but it is not installable
    Depends: libmemcached10 but it is not installable
    Depends: libmysqlclient18 but it is not installable
    Depends: libp11-kit0 but it is not installable
    Depends: libssl1.0.0 but it is not installable
    Depends: libtinfo5 but it is not installable
    Depends: libjemalloc1 (>= 3.0.0) but it is not installable
    Depends: libcurl3 (>= 7.26.0) but it is not going to be installed
    Depends: libboost-thread1.49.0 but it is not installable
    Depends: libmagickwand5 but it is not installable
    Depends: libevent-2.0-5 but it is not installable
    E: Broken packages

    debian 7 安装出错,请高手帮忙看看

    这是农场的第 18 块农田,部落批准 [lzyg] 在[2014-7-7 22:13]开垦完成.
  • 文韬武略 4

    1、进入到/etc/lighttp/conf-available,编辑10-fastcgi-hhvm.conf文件,输入下面保存。
    应该是
    1、进入到/etc/lighttpd/conf-available,编辑10-fastcgi-hhvm.conf文件,输入下面保存。

    qi 回复:

    @文韬武略, 谢谢,已经更新。

    这是农场的第 19 块农田,部落批准 [文韬武略] 在[2014-12-6 17:39]开垦完成.
  • helen 1

    重写规则有问题,存在的文件也会被重写

    qi 回复:

    @helen, 自动生成的规则不行?

    helen 回复:

    @qi, debian系下安装后就没有自动生成生成重写规则

    这是农场的第 20 块农田,部落批准 [helen] 在[2014-12-24 17:27]开垦完成.
  • k 17

    我有个搬瓦工的64M小jj,本来是作为shadowso@cks使用的,但是闲得无事,加上我想看看64m的极限在哪里,就用网上介绍的lighttpd+php+sqlite搭建了个服务器,顺便用个cf域名解析过去了,重启后看了一下内存,占用十几M,把我惊呆了,不知道是不是显示不准确,qi帮我测测能承受多少人访问呗?我测试那个网站本来是搭建在sae的,但是光是自己改代码发布文章都开始扣云豆了(我云豆只有1000来颗),还是typecho的,太受不了了,如果负载比sae强的话,我就搬了。域名是www.gongk.cf

    qi 回复:

    @k, lighttpd和sqlite虽然是非常省内存的搭档,但是对于运行一个博客来说可能有点吃力,现在占用内存少,应该是lighttpd和sqlite占用内存少,一旦PHP运行起来的话消耗就大了。64MB应该能支撑日IP为100左右

    k 回复:

    @qi, 100ip的话,用于早期是没问题的,毕竟才开始,才收录首页,文章没几篇,等着访问上来了慢慢升级。

    qi 回复:

    @k, 是呀,后期可能是会压力大。

    这是农场的第 21 块农田,部落批准 [k] 在[2015-6-10 17:37]开垦完成.
  • 靠谱分享网 17

    sae太让我无语了,才搭建上去自己修修改改代码的过程,就消耗云豆,这个免费额度有点、、、

    qi 回复:

    @靠谱分享网, 这个免费额度太小了,实际一旦有流量的话可能就要面临着收费的可能性的。

    这是农场的第 22 块农田,部落批准 [靠谱分享网] 在[2015-6-10 20:36]开垦完成.
看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部