1、简介php
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的运行速度
css
2、安装html
1,安装epel源:yum install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm nginx
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
后端
3、编写配置文件spa
vi /etc/hhvm.hdf代理
Server {orm
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
}
}server
4、启动HHVM服务htm
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
5、与nginx结合,使用nginx作反向代理,将请求转给hhvm
在nginx里建立虚拟机:
server {
listen 8000; #虚拟机端口8000,ps:不要hhvm端口混淆
server_name localhost;
location / {
root /home/www;
index index.html index.php index.htm;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr; #把真实的ip发送给后端 proxy_set_header Host www.xxx.com;#发送请求的host;
proxy_pass http://localhost:90; #把全部的请求转发给hhvm的90端口,和php fpm相似;
}
}
此时经过8000端口访问php文件,头信息以下:
所有成功!
http://localhost/test_cpu.php php运行程序
http://localhost:90/test_cpu.php hhvm运行程序
http://localhost:8000/test_cpu.php hhvm+nginx运行