一、简介
HipHop VM(HHVM)是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点。
Facebook表示,HHVM将替代HPHPi,用于所有的PHP执行。根据 Facebook透漏,HHVM在速度方面获得了显著改进,比目前使用的PHP解释器快60%,而使用内存减少90%。Facebook于12年十二月初发布了一个博文,宣布他们的解释型PHP运行环境HHVM(HipHop VM)已经达到甚至超过了编译型PHP运行环境HipHop的运行速度
二、安装
1,安装epel源:yum install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
2,配置源:
cd /etc/yum.repos.d
wget http://www.hop5.in/yum/el6/hop5.repo
yum makecache
3,升级gcc到4.8.2: yum install gcc.x86_64
4,安装HHVM2.4 : yum install hhvm.x86_64
三、编写配置文件
vi /etc/hhvm.hdf
Server {
Port = 90
Type=fastcgi #fastcgi支持
SourceRoot = /home/www/
}
Eval {
Jit = true #启用Jit动态编译
JitWarmupRequests=0 #第一次请求即开启Jit,默认是11
}
Log {
Level = Error
UseLogFile = true
File = /var/log/hhvm/error.log
Access {
* {
File = /var/log/hhvm/access.log
Format = %h %l %u %t \"%r\" %>s %b
}
}
}
VirtualHost {
* {
Pattern = .*
RewriteRules {
dirindex {
pattern = ^/(.*)/$
to = $1/index.php
qsa = true
}
}
}
}
StaticFile {
FilesMatch {
* {
pattern = .*\.(dll|exe)
headers {
* = Content-Disposition: attachment
}
}
}
Extensions {
css = text/css
gif = image/gif
html = text/html
jpe = image/jpeg
jpeg = image/jpeg
jpg = image/jpeg
png = image/png
tif = image/tiff
tiff = image/tiff
txt = text/plain
}
}
四、启动HHVM服务
hhvm --mode daemon --user root --config /etc/hhvm.hdf
--mode daemon:后台进程方式运行
--user root:以root用户运行
--config :启动的配置文件
CLI: time hhvm -v"Eval.Jit=true""Eval.JitWarmupRequests=0" -f test_cpu.php
五、与nginx结合,使用nginx做反向代理,将请求转给hhvm
在nginx里创建虚拟机:
server {
}
此时通过8000端口访问php文件,头信息如下:
全部成功!