何为HHNM?
Nginx,就不用多解释了,他是由俄罗斯人发明的,一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。
接下来要介绍一下HHVM。
HHVM 是HipHop Virtual Machine的缩写。它会将PHP代码转换成高级别的字节码(通常称为中间语言)。然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码。在这些方面,HHVM十分类似与C#的CLR和Java的JVM。
简述HHVM历史
早在2008年Facebook就开始使用HipHop(现在成为HPHP),这种PHP执行引擎;之后的两年里,Fackbook又在HipHop中增加了HPHPi和HPHPd。HPHPi其实就是开发版的HPHP,HPHPd则是HipHop的调试器,通过HPHPd开发人员可以单步调试运行在HipHop平台上的PHP代码。但HipHop还是存在一些问题。
在2010年初,Fackbook因为这些问题做出了2个重大的决定。首先是将HipHop平台开源(GitHub网址),希望能够进一步帮助提高更多大型复杂PHP网站的可伸缩性。通过这种方式来加快HipHop的发展。其次,Facebook开始开发HipHop的更高版本,也就是HHVM(HipHop虚拟机),HHVM加强了HPHPc的健壮性,同时还修复了许多重要错误。
HHVM Nginx环境搭建教程
在这篇文章中,我们将用带有Nginx web服务器的PHP和Hack编程语言安装一个开源的虚拟机。其中Hack的编程语言,集合了目前两种主流网页编程语言 PHP 和 Java 的优势,而这个语言从语法等特性上与 PHP 十分相似。目前,绝大部分Facebook的页面都由这个Hack 语言编写。此教程十分实用,一旦熟悉了该种方法将极大的提高你的PHP应用程序的速度。另外HHVM采用的是实时(JIT)编译的方法,以实现卓越的性能,同时PHP还可以提供发展的灵活性。让我们学起来吧!
HHVM标志:http://www.hhvm.com
系统要求
HHVM仅支持64位的操作系统,所以首先确认已安装的操作系统位数是否正确。其次,需要拥有超级用户权限,用来执行任务。
通过线面的命令,可以查看主机信息。
root@ubuntu-15:~# hostnamectl
在安装任何新的程序之前,升级(UPDATE)是一个好的习惯。升级操作系统可以运行下面的命令。
root@ubuntu-15:~# apt-get update
安装NGINX
root@ubuntu-15:~# apt-get install nginx
通过上面的命令,安装NGINX。
安装并检查Nginx状态
通过下图,我们在"是否选择继续"中,选择Y(yes)。
现在检查Nginx是否安装成功,可启动Nginx,并查看其状态。命令如下:
root@ubuntu-15:~# service nginx start
root@ubuntu-15:~# service nginx status
如果如图一样,显示active(runing)则表示运行正常。
安装HHVM
下面我们需要在Ubuntu 15.04.上安装HHVM(Hip Hop Virtual Machine)。由于它在Ubuntu的内置存储库的安装包不可用,所以我们需要将其同步到乌班图的"/etc/apt/sources.list"目录下。命令如下:
root@ubuntu-15:~# wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -
root@ubuntu-15:~# echo deb http://dl.hhvm.com/ubuntu vivid main | sudo tee /etc/apt/sources.list.d/hhvm.list
再次运行update命令,以确保HHVM的安装包能够在乌班图的内置存储库中更新。可以运行命令:
root@ubuntu-15:~# apt-get update
然后,开始安装HHVM
root@ubuntu-15:~# apt-get install -y hhvm
如图所示,在安装HHVM过程中,会同时安装一些其他软件包。
程序运行到最后,你可以在程序末尾,看到安装成功的消息,以及下面的信息。
3HHVM配置
配置
当成功安装了HHVM之后,我们需要运行下面的命令,以检查web服务器的安装,并重启服务器:
root@ubuntu-15:~# /usr/share/hhvm/install_fastcgi.sh
运行下面命令,并检查HHVM的状态是否正常。
root@ubuntu-15:~# /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
root@ubuntu-15:~# service hhvm status
测试HHVM
首先要确认是否所有应用安装完成,并且配置成功。然后为了测试HHVM需要,在web服务器的根目录上创建一个PHP文件。
root@ubuntu-15:~# vim /var/www/html/info.php
"
phpinfo();
:wq!
然后重启nginx服务器
root@ubuntu-15:~#service nginx restart
现在需要保存之前的改动,打开你的网页浏览器,同时运行 "info.php"文件
http://your_server_IP/info.php
写在最后
超低的CPU占用,超快的运行速度(快于Magento麦进斗电子商务系统);这样的优秀应用,你有没有动心?那就装上试一试吧。
PS:科普一下,Magento(麦进斗)是一套专业开源的电子商务系统。2011年三月获得EBAY战略投资。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。
基于Ubuntu 14.04下搭建HHVM环境:http://www.linuxdiyf.com/linux/10678.html
Debian Wheezy安装Nginx+HHVM:http://www.linuxdiyf.com/linux/10196.html
PHP 5.5/PHP5.6/PHP-NG和HHVM哪个性能更好?:http://www.linuxdiyf.com/linux/10712.html