使用 HHVM 运行 WordPress
2013年06月20日 | 标签: hhvm, php, wordpress
Facebook 在以前的 HPHPc, HPHPi 和 HPHPd 的基础上开发了一套全新的 HipHop VM for PHP (HHVM),使用 JIT(Just-In-Time)编译技术可以快速生成代码和即时编译。据 Facebook 称,HHVM 的性能是 Zend PHP 5.2 的5倍多,更重要的是 HHVM 是开源的~
现在运行 WordPress/Drupal 等流行 PHP 应用程序的流行环境搭配是 Nginx/Apache + MySQL + PHP,我们来看看 HHVM 这个神器能不能搞定 WordPress. HHVM 可以当作一个独立服务器使用,不需要搭配其他的 web 服务器。
首先更新系统(这里采用 Ubuntu Server 12.04 LTS 版本)和升级,然后后安装 php, mysql(hhvm 可以单独运行,不需要安装 apache):
$ sudo apt-get update && apt-get upgrade $ sudo apt-get install mysql-client mysql-common mysql-server php5 php5-cli php5-common php5-cgi php5-mysql
加入 hiphop 源,更新后安装 hiphop-php:
$ sudo echo "deb http://dl.hiphop-php.com/ubuntu precise main" >> /etc/apt/sources.list $ sudo apt-get update $ sudo apt-get install hiphop-php
创建 wordpress 所需要的数据库:
$ mysql -uroot -proot mysql> create database wordpress; mysql> Bye
下载 wordpress 后解压、修改配置文件连上数据库:
$ cd /var/www $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar -zxf latest.tar.gz $ sudo chown -R www-data:www-data wordpress $ cd wordpress $ sudo cp wp-config-sample.php wp-config.php $ sudo vi wp-config.php ... /** The name of the database for WordPress */ define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', 'root'); ...
修改 wp-db.php:
$ sudo vi wp-includes/wp-db.php ... /** * @since 0.71 */ //define( 'OBJECT', 'OBJECT', true ); define( 'OBJECT', 'OBJECT' ); define( 'Object', 'OBJECT' ); define( 'object', 'OBJECT' ); ...
配置 hhvm(只需要加一个配置文件就行):
$ sudo vi /etc/hhvm.hdf Server { Port = 80 SourceRoot = /var/www/ } Eval { Jit = true } Log { Level = Error UseLogFile = true File = /var/log/hhvm/error.log Access { * { File = /var/log/hhvm/access.log Format = %h %l %u %t \"%r\" %>s %b } } } VirtualHost { * { Pattern = .* RewriteRules { dirindex { pattern = ^/(.*)/$ to = $1/index.php qsa = true } } } } StaticFile { FilesMatch { * { pattern = .*\.(dll|exe) headers { * = Content-Disposition: attachment } } } Extensions { css = text/css gif = image/gif html = text/html jpe = image/jpeg jpeg = image/jpeg jpg = image/jpeg png = image/png tif = image/tiff tiff = image/tiff txt = text/plain } }
创建运行 hhvm 所需的 log 目录,运行 hhvm:
$ sudo mkdir /var/log/hhvm/ $ sudo /usr/bin/hhvm --mode daemon --user www-data --config /etc/hhvm.hdf
用浏览器访问 http://IP address/wordpress/ 就应该可以看到 wordpress 安装界面了,按提示安装完后使用一下,看看有啥问题。同时检查一下 hhvm 日志,看看是否有访问纪录:
$ sudo tail /var/log/hhvm/access.log