初试 HHVM


至从用了 VPS 之后,就不停的折腾,因为刚开始的配置很差(最开始只有 512M内存) 因而对服务器配置则要求比较高.前两天VPS卡死之后就又一次升级.升级后速度就保持的不错.

服务器上的PHP版本是 5.5, 所以有内置的加速缓存 OpCache.无意中发现 HHVM 是一个很火的开源项目,是一个加速PHP执行效率的程序.和.NET平台有点类似,原理就是第一次解释PHP代码的时候就把PHP编译成汇编语言,然后缓存起来,之后再调用的时候就省去了前面的过程,直接运行汇编代码.NET 的程序也是这样, 第一次执行比较慢,之后就越来越快, 因为代码都编译成本地代码了 (Just in Time Compiler),执行效率高.

当然,还有其它新功能,比如引入了 Hack 这种在PHP基础上改进的语言,PHP我们都知道是弱类型(定义变量的时候不需要指定类型, 实际上也没有显式定义类型的方法),HACK则是 Gradual Typing 也就是在第一次声明类型后就不能改变了,有助于软件开发减少BUG,提高开发效率.当然这个内容太多,需要另起一个帖子来讲.

1
2
3
4
5
6
root@uploadbeta:/var/www/helloacm.com/htdocs/hhvm# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty
root@uploadbeta:/var/www/helloacm.com/htdocs/hhvm# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty

安装 HHVM 还算是比较简单,可以下载源代码直接本地编译,也可以从官网上下预先编译好的直接安装.我选择了后者.

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
echo deb http://dl.hhvm.com/ubuntu saucy main | tee /etc/apt/sources.list.d/hhvm.list
apt-get update
apt-get install hhvm

然后安装完之后需要执行以下命令则会配置 Apache 服务器 或者是 ngix 服务器.

/usr/share/hhvm/install_fastcgi.sh

其实装完 HHVM 之后,就可以在命令行下,类似PHP一样运行PHP脚本.

hhvm hello-world.php
hhvm-help 初试 HHVM 技术 折腾 网站信息与统计

HHVM 命令行

我们还可以先关闭 apache 服务:

sudo service apache2 stop

然后启动 HHVM 内置服务器 来侦听 80 端口(确定没有其它程序或者服务也同时侦听 80 端口)

hhvm -m server

然后就可以用 HHVM 来运行PHP程序了.

在装完之后遇到了一个BUG,就是 apache2 解释任何PHP程序都会显示 404 file not found 的错误,上网搜索了一下, 发现需要在 /etc/hhvm/server.ini 里加入

hhvm.server.fix_path_info = true

并通过命令 sudo service hhvm restart 重启HHVM.

短暂用了一下, 并没有很大的区别(访问流量并不大),htop 显示进程里也从原来的 apache2 -k start 变成了 hhvm 我们还可以通过以下脚本来确定HHVM已经启用.

<?php
  echo  defined('HHVM_VERSION')?'Using HHVM':'Not using HHVM';
?>

博客 WordPress 经测试,完全兼容没有出任何的错,因为 HHVM 毕竟是完全兼容以前的PHP代码.但是好像暂时不支持 GB2312 的编码,所以我以前的有些中文网页都显示乱码.而且有个别一两个页面无法正常执行,也没有深究原因.

大概跑了一下,还是把HHVM给删掉了.现在 Apache2 + PHP5.5 + Mysql 配置其实挺好的.折腾一下就算一个学习的过程,等哪天博客又慢了, 我也许又会折腾.

sudo service hhvm stop
sudo apt-get remove hhvm

在删掉之后,需要把 Apache2 的配置复原:

sudo a2dismod proxy_fcgi
sudo a2dismod proxy
rm /etc/apache2/mods-enable/hhvm*.conf
sudo service apache2 restart

英文同步: https://helloacm.com/how-to-setup-hhvm-on-the-ubuntu-vps/

GD Star Rating
loading...
本文一共 776 个汉字, 你数一下对不对.
初试 HHVM. (AMP 移动加速版本)
上一篇: 如何在 WordPress 文后加入分享链接?
下一篇: 赚钱的乐趣

扫描二维码,分享本文到微信朋友圈
e3f66011a96fe6ef5e8b73aa0992528e 初试 HHVM 技术 折腾 网站信息与统计

2 条评论

评论