CentOS yum安装apache2.4及hhvm

闲着没事把VPS的PHP换成了HHVM,试了一下效果,直接吓尿了。。。放个图(说明下我现在用的是DigitalOcean最低配的VPS,也就是单核512内存的,除了HHVM未做任何优化或者缓存等):

hhvm-performance

虽说探针的测试不能说明太多问题,不过还是可以看出来性能明显有提升。实际访问的时候处理请求的时间也短了许多。。。以下是安装方法:

首先添加包含有Apache2.4和HHVM的源

cd /etc/yum.repos.d
wget http://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-httpd24.repo
wget http://www.hop5.in/yum/el6/hop5.repo

之后安装Apache2.4和HHVM

yum install httpd24-httpd httpd24-httpd-devel httpd24-mod_ssl hhvm

然后就安装完了。。。这样安装的Apache2.4配置文件什么的都在/opt/rh/httpd24/root/etc/httpd/这个地方,所以他和CentOS默认安装的Apache2.2是共存的,想启动Apache2.4就要先停止Apache2.2。安装好之后的问题便是启动HHVM

/usr/bin/hhvm --mode server -vServer.Port=8080 -vServer.Type=fastcgi &

执行完这个命令后HHVM就会以FastCGI的方式监听8080端口,也可以使用其他的端口,修改参数就行。修改端口后下面Apache相应的端口也要修改哦。然后我们去配置Apache2.4

在/opt/rh/httpd24/root/etc/httpd/conf.d 这个文件夹下面新建一个.conf文件,内容类似下面这样:

<VirtualHost *:80>
ServerAdmin Cat@xCat.me #这里是管理员邮箱
ServerName Test.Cat #这里是域名
DocumentRoot /var/www/html/ #这里Web目录
ErrorLog logs/Cat-hhvm-error_log #错误日志,可以注释掉不要
CustomLog logs/Cat-hhvm-access_log combined #访问日志 可以注释掉不要

#下面两行选一行就可以,ProxyPass把所有请求代理给HHVM处理
#ProxyPassMatch只把PHP代理给HHVM处理,推荐ProxyPassMatch
#里面的var/www/html也要改成网站所在目录。

ProxyPass / fcgi://127.0.0.1:8080/var/www/html/hhvmtest
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:8080/var/www/html/hhvmtest/$1

<Directory />
AllowOverride all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>

配置多站点的话在新建几个conf文件或者在刚才的文件下面增加VirtualHost就可以了。如果你之前启用了Apache,就要先关闭它。

service httpd stop

然后启动Apache2.4

service httpd24-httpd start

然后尽情享用HHVM带来的性能提升吧~