HHVM安裝(centos6.3下)

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運行

相關文章
相關標籤/搜索