至从用了 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
我们还可以先关闭 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/
loading...
上一篇: 如何在 WordPress 文后加入分享链接?
下一篇: 赚钱的乐趣
听老赖讲故事
显然,这不太像个故事……
哈哈,这个是自动的…