└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ## 背景 2 | 由于官方提供的HHVM编译过于复杂,国内也没有一整套的方便运维解决方案,那么我们提供一版baidu的免编译版本供国内对于HHVM的用户进行体验使用,并进行持续更新。 3 | 4 | ## 环境 5 | 6 | 此免依赖安装包,免依赖包和系统无依赖,目前内部使用支持centos6+和redhat4(外部aws可以使用),其他linux版本用户可以进行试用,内核需要linux 2.6.32以上 7 | 8 | ## 安装 9 | 10 | Baidu hhvm 下载地址: 11 | 12 | http://bcs.duapp.com/hhvm-package/hhvm-3.0.1-V0.1.tar.gz 13 | 14 | ### 1.解压hhvm.tar.gz 15 | 16 | tar zxvf hhvm.tar.gz 17 | cd hhvm 18 | 19 | ### 2.通过文本编辑器打开init.sh文件 20 | 21 | vi tools/exec/init.sh 22 | 23 | 修改如下的3个参数: 24 | 25 | HHVM_SOURCE_ROOT=php的源文件路径如(/home/www/app),需要绝对地址,这个是需要自定义的 26 | #hhvm服务的端口 27 | SERVER_PORT=8091 28 | #hhvm 管理端口 29 | ADMIN_PORT=8092 30 | 31 | ### 3.然后运行sh tools/exec/init.sh 32 | 33 | 主要是替换配置文件的路径、noau监控端口、还有设置ld-linux-x86-64.so.2的路径 34 | 35 | 注: 36 | 37 | 如果初始化完毕后,如果要是更换hhvm路径,那么需要重新运行init.sh,因为ld-linux-x86-64.so.2需要绝对路径 38 | 39 | ## 测试 40 | ### 运行脚本 41 | 42 | 编写测试脚本test.php: 43 | 44 | 47 | 48 | 存放在/home/work/data/www下(因为我们上面举例配置sourceroot为这个目录) 49 | 50 | 然后我们运行脚本: 51 | 52 | bin/hhvm_control start 53 | 54 | fastcgi 模式启动: 55 | 56 | 需要通过nginx或者apache 转发到8091端口上,然后通过访问nginx端口访问hhvm的php,如nginx端口是8080,那么则访问http://127.0.0.1:8080/test.php 即可通过8080转发到8091访问我们的php页面; 57 | 58 | 也可以用http模式运行,修改hhvm.conf中fastcgi为Server.Type=libevent即可,这样就可以直接访问端口; 59 | 60 | 停止和重启运行脚本restart和stop即可; 61 | 62 | hhvm 简单运行 63 | 64 | 如果我们不想运行脚本,仅仅测试hhvm,那么我们也可以利用上面写好的脚本,运行: 65 | 66 | bin/hhvm -c conf/hhvm.conf -m server 67 | 68 | ### 目录结构 69 | 70 |
| 目录名称 | 74 |目录解释 | 75 |
|---|---|
| bin | 80 |存放hhvm可执行文件还有执行脚本 | 81 |
| cache | 84 |存放hhbc文件的目录 | 85 |
| conf | 88 |存放hhvm配置文件的目录 | 89 |
| ext | 92 |存放扩展so的目录 | 93 |
| lib | 96 |存放hhvm依赖的lib的目录 | 97 |
| lib64 | 100 |存放hhvm依赖库的lib64目录 | 101 |
| log | 104 |log存放的位置,运行后会生成目录 | 105 |
| monitor | 108 |监控脚本目录 | 109 |
| tools | 112 |存放初始化文件和配置模板 | 113 |
| var | 116 |存放hhvm.pid的目录 | 117 |