<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]CentOS 6.5和CentOS7.0分别安装了下HHVM，并将此用于wordpress网站上，相当不错。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Thu, 05 Mar 2015 14:22:46 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	CentOS 7下hhvm Nginx环境搭建:<br/>http://www.linuxeye.com/Linux/2029.html<br/>Supervisor管理hhvm进程:<br/>http://www.linuxeye.com/Linux/Supervisor-hhvm.html<br/>注意一下路径：<br/>;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)<br/>logfile=/data/logs/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) <br/>pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)<br/><br/>=======================================================<br/>Q:多处出现：软件包boost-regex-1.54.0-9.el6.x86_64.rpm没有签名?<br/>Q:大家都用source编译？我是想通过yum 安装了解一下php的hhvm 尽量用yum 安装。<br/>A:比较容易标准化 机器多的话，可以统一标准化 对，标准化很重要<br/>https://github.com/lj2007331/lnmp<br/>淘宝一个人建的，其中functions目录把每个l n/a mp版本安装封装成了一个shell函数（包含了依赖包），有hhvm和php7。如果是在机器上体验一下，可以使用这个项目或者把他的函数抠出来，可以省去从源码编译挨个找依赖包的痛苦。<br/><br/>————————————————兼容过渡办法—————————————————<br/><br/>测试了下6月6日下载编译的PHP7和HHVM最新的3.7.1.<br/>ab -c100 -n1000 http://127.0.0.1/wordpress/<br/>100并发完成1000个请求,PHP7(开启opcache,5个PHP-FPM工作进程)每秒处理117个请求,HHVM则是每秒126个,性能差距很小.值得一提的是,HHVM没有热身时(第一次压测),每秒只能处理56个请求,而PHP7仍能处理117个请求.<br/><br/>这是我6月6日编译的PHP7开发版,你可以下载进行测试:<br/>http://my.oschina.net/eechen/blog/411534<br/><br/>补充:<br/>如果你觉得处于Alpha版本的PHP7还不够稳定,你可以配置Nginx,PHP7-FPM监听9000端口,PHP5-FPM监听9001端口,当PHP7崩掉的时候自动切换到作为备用的PHP5.<br/><br/>upstream php.backend &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;server 127.0.0.1:9000;<br/>&nbsp;&nbsp;&nbsp;&nbsp;server 127.0.0.1:9001 backup;<br/>&#125;<br/>PHP-FPM是多进程的架构,PHP7并没有改动PHP-FPM的架构,所以说就算PHP-FPM工作进程因为内置的PHP7引擎发生故障,我估计也就工作进程会崩溃退出,而PHP-FPM的master进程会自动重启一个新的工作进程.<br/>————————————————————————————————————————————————————<br/><br/>已加载插件：fastestmirror, refresh-packagekit, security<br/>/var/run/yum.pid 已被锁定，PID 为 8085 的另一个程序正在运行。<br/>另外一个程序锁定了 yum；等待它退出……<br/>&nbsp;&nbsp;The other application is: PackageKit<br/>&nbsp;&nbsp;&nbsp;&nbsp;Memory :&nbsp;&nbsp;22 M RSS (328 MB VSZ)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Started: Mon May&nbsp;&nbsp;4 16:41:46 2015 - 00:09 ago<br/>&nbsp;&nbsp;&nbsp;&nbsp;State&nbsp;&nbsp;: Uninterruptible, pid: 8085<br/>另外一个程序锁定了 yum；等待它退出……<br/>&nbsp;&nbsp;The other application is: PackageKit<br/>&nbsp;&nbsp;&nbsp;&nbsp;Memory :&nbsp;&nbsp;31 M RSS (339 MB VSZ)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Started: Mon May&nbsp;&nbsp;4 16:41:46 2015 - 00:11 ago<br/>你怎么2个东西在跑,kill:<br/><textarea name="code" class="C" rows="15" cols="100">
 ps -ef &#124; grep yum &#124; grep -v grep &#124;xargs kill -9
</textarea><br/><br/>重复执行 install.sh <br/> <br/>ps -ef &#124; grep hhvm<br/>service hhvm start<br/><br/>find . -name &quot;hhvm&quot;<br/>./etc/rc.d/init.d/hhvm<br/>./var/run/hhvm<br/>./var/log/hhvm<br/><br/>如果说想配置nginx+hhvm，我用nginx+hhvm可以吧？<br/>vhost.sh<br/><br/>最后，<br/>mysql源码安装的是 mysql-server<br/>mysql x86_64是客户端，别搞错。<br/><br/>还是有问题：<br/>错误：Package: mysql-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libmysqlclient_r.so.16(libmysqlclient_16)(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available: mysql-libs-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysqlclient_r.so.16(libmysqlclient_16)(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已安装: mysql-libs-5.5.43-1.el6.remi.x86_64 (@remi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not found<br/>错误：Package: mysql-devel-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libmysqlclient_r.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available: mysql-libs-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysqlclient_r.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已安装: mysql-libs-5.5.43-1.el6.remi.x86_64 (@remi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not found<br/>错误：Package: mysql-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libmysqlclient.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available: mysql-libs-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysqlclient.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已安装: mysql-libs-5.5.43-1.el6.remi.x86_64 (@remi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not found<br/>错误：Package: mysql-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libmysqlclient_r.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available: mysql-libs-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysqlclient_r.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已安装: mysql-libs-5.5.43-1.el6.remi.x86_64 (@remi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not found<br/>错误：Package: mysql-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libmysqlclient.so.16(libmysqlclient_16)(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available: mysql-libs-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysqlclient.so.16(libmysqlclient_16)(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已安装: mysql-libs-5.5.43-1.el6.remi.x86_64 (@remi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not found<br/>错误：Package: mysql-devel-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libmysqlclient.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available: mysql-libs-5.1.73-3.el6_5.x86_64 (base)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysqlclient.so.16()(64bit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已安装: mysql-libs-5.5.43-1.el6.remi.x86_64 (@remi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not found<br/> You could try using --skip-broken to work around the problem<br/>问题在：<br/>lnmp.org安装了mysql- <br/>有可能不行 php 用的 mysql库 就有问题。<br/><br/>删除这个包就Ok了？mysql-libs-5.5.43-1.el6.remi.x86_64<br/><br/>Q:干嘛不用我的来安装 整套? <br/>A:历史原因啊。<br/>Q:删除两个？<br/>rpm -e&nbsp;&nbsp;mysql-libs-5.5.43-1.el6.remi.x86_64<br/>rpm -e&nbsp;&nbsp; mysql-5.5.43-1.el6.remi.x86_64<br/><br/>A:<br/>rpm -e mysql-5.1.73-3.el6_5.x86_64&nbsp;&nbsp;删掉<br/><br/>回家后实践，如下且成功：<br/>rpm -qa &#124;grep mysql<br/>mysql-devel-5.5.43-1.el6.remi.x86_64<br/>mysql-libs-5.5.43-1.el6.remi.x86_64<br/>mysql-5.5.43-1.el6.remi.x86_64<br/>实践是这样的：<br/>rpm -e mysql-devel-5.5.43-1.el6.remi.x86_64<br/>rpm -e mysql-5.5.43-1.el6.remi.x86_64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>rpm -e mysql-libs-5.5.43-1.el6.remi.x86_64 <br/><br/>于是重新安装一次并重启：<br/>./install.sh<br/>________<br/>ps aux&#124;grep hhvm<br/>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3155 55.0&nbsp;&nbsp;2.5 676320 150628 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R&nbsp;&nbsp;&nbsp;&nbsp;22:56&nbsp;&nbsp; 0:09 /usr/bin/hhvm --mode server --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf<br/><br/><br/>修改/usr/local/nginx/conf/nginx.conf使其中一段成为如下：<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(php&#124;php5)?$&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#fastcgi_pass&nbsp;&nbsp;unix:/data/runsock/php-cgi.sock;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass&nbsp;&nbsp; unix:/data/runsock/hhvmsock/hhvm.sock;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_param&nbsp;&nbsp;SCRIPT_FILENAME $document_root$fastcgi_script_name;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_params;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_params;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>service nginx reload<br/>详细配置看后面，安装就按上面安装得了。依赖太多，太麻烦了。<br/><br/> ps aux&#124;grep hhvm&nbsp;&nbsp;<br/>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3155&nbsp;&nbsp;3.3&nbsp;&nbsp;2.8 880828 172836 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sl&nbsp;&nbsp; 23:23&nbsp;&nbsp; 0:22 /usr/bin/hhvm --mode server --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf<br/>strace&nbsp;&nbsp;-f -p 3155 //访问一下看有无输出，实践是有输出的。说明安装成功了。<br/><br/><br/>CentOS7 hhvm交给supervisord管理了:<br/>ps -ef &#124; grep super supervisord 这个进程在吗？<br/>service supervisord restart<br/><br/>最后解决，开机这个/var/run/hhvm 会不见了(CentOS7里估计是一个内存磁盘，重启就没了，导致启动失败。)，呵，开机就创建好了：<br/>创好是这样的： ls /var/run/hhvm/<br/>hhvm.hhbc&nbsp;&nbsp;pid&nbsp;&nbsp;sock<br/><textarea name="code" class="php" rows="15" cols="100">
mkdir /var/run/hhvm;chown www.www /var/run/hhvm
service supervisord restart
</textarea><br/><br/>配置hhvm<br/># vi /etc/hhvm/server.ini<br/><textarea name="code" class="php" rows="15" cols="100">
pid = /var/run/hhvm/pid 修改为：
pid = /data/runpid/hhvm/hhvm.pid

hhvm.log.file = /var/log/hhvm/error.log 修改为：
hhvm.log.file = /data/logs/hhvm/error.log 

hhvm.server.file_socket = /var/run/hhvm/sock 修改为：
hhvm.server.file_socket = /data/runsock/hhvmsock/hhvm.sock

hhvm.log.file = /var/log/hhvm/error.log 修改为：
hhvm.log.file = /data/logs/hhvm/error.log

hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc 修改为：
hhvm.repo.central.path = /data/logs/hhvm/hhvm.hhbc 
</textarea><br/><br/> vi /etc/hhvm/php.ini <br/><textarea name="code" class="php" rows="15" cols="100">
hhvm.mysql.socket =/tmp/mysql.sock 修改为：
;hhvm.mysql.socket = /tmp/mysql.sock
hhvm.mysql.socket = /data/runsock/mysqlsock/mysql.sock
expose_php = 0
memory_limit = 400000000
post_max_size = 50000000
</textarea><br/><br/><br/>一个www的hhvm去读取一个mysql.sock，<br/>而我的sock是放在一个mysql的组目录下，如何实现无permission Denny的读取？<br/>所以得注意权限,如下所示 ：<br/>[root@iZ25z0ugwgtZ runsock]# ll /data/runsock<br/>drwxrwxrwx 2 www&nbsp;&nbsp; www&nbsp;&nbsp; 4096 2月&nbsp;&nbsp;17 17:30 hhvm<br/>drwxrwxrwx 2 mysql mysql 4096 2月&nbsp;&nbsp;17 17:28 mysqlsock<br/>drwxrwxrwx 2 www&nbsp;&nbsp; www&nbsp;&nbsp; 4096 2月&nbsp;&nbsp;17 17:30 phpsock<br/><br/>因为hhvm是www运行，而mysql是mysql运行，这块hhvm去读取mysql的sock时， mysql这个sock上层目录是mysql，导致不能读取，于是得对mysql的这个sock进行777，chmod -R 777 /data/runsock/mysqlsock ：<br/>cd /data<br/>chown -R www:www runsock hhvm logs<br/>chmod -R 777 runsock hhvm logs<br/><br/>访问后是502，如下修改：<br/>./jackxiang.conf:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fastcgi_pass&nbsp;&nbsp; unix:/var/run/hhvm/sock;修改：<br/>./jackxiang.conf:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fastcgi_pass&nbsp;&nbsp; unix:/data/runsock/hhvmsock/hhvm.sock;<br/><br/>于是，就好了？没有，必须重启动nginx，而不是reload，<br/>connect() to unix:/var/run/hhvm/sock failed (2: No such file or directory) while connecting to upstream, client: 106.37.79.53, server: jackxiang.com, request: &quot;GET / HTTP/1.1&quot;, upstream: &quot;fastcgi://unix:/var/run/hhvm/sock:&quot;, host: &quot;jackxiang.com&quot;<br/><br/>pkill -9 nginx //否则会出现还是找原来的sock：<br/>../sbin/nginx <br/>这样就不用前面的每次开机建立如下目录和赋权限：<br/><textarea name="code" class="php" rows="15" cols="100">
mkdir /var/run/hhvm;chown www.www /var/run/hhvm
service supervisord restart
</textarea><br/>centOs7.0也就可以使用hhvm了，性能用在wordpress上，结合前端nginx的cache插件相当不错~<br/>———————————————————安装问题—————————————————————————<br/>yum -y --nogpgcheck install hhvm 出现：<br/>--&gt; 处理依赖关系 libwebp.so.4()(64bit)，它被软件包 hhvm-3.5.0-4.el6.x86_64 需要<br/>--&gt; 完成依赖关系计算<br/>错误：Package: hhvm-3.5.0-4.el6.x86_64 (gleez)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requires: libwebp.so.4()(64bit)<br/> You could try using --skip-broken to work around the problem<br/><br/>出现：<br/>一）源码安装webp库：<br/>先下载libwebp-0.3.0.tar.gz<br/>tar -zxvf libwebp-0.3.0.tar.gz<br/>cd libwebp-0.3.0<br/>./configure &amp;&amp; make &amp;&amp; make install<br/>cp /usr/local/lib/libwebp.so.4.0.2 /usr/lib64/<br/>ln -s /usr/lib64/libwebp.so.4.0.2 /usr/lib64/libwebp.so.4<br/>ln -s /usr/lib64/libwebp.so.4.0.2 /usr/lib64/libwebp.so<br/><br/>二）yum search libwebp :<br/>libwebp-devel.i686 : Development files for libwebp, a library for the WebP format<br/>libwebp-devel.x86_64 : Development files for libwebp, a library for the WebP format<br/>libwebp-java.x86_64 : Java bindings for libwebp, a library for the WebP format<br/>libwebp.i686 : Library and tools for the WebP graphics format<br/>libwebp.x86_64 : Library and tools for the WebP graphics format<br/>libwebp-tools.x86_64 : The WebP command line tools<br/><br/>处理依赖关系 libwebp.so.4()(64bit)，它被软件包 hhvm-3.5.0-4.el6.x86_64 需要，于是：<br/>root@119.10.6.23:~# ln -s /usr/lib64/libwebp.so /usr/lib64/libwebp.so.4<br/>root@119.10.6.23:~# ls /usr/lib64/libwebp.so.4<br/>/usr/lib64/libwebp.so.4<br/>root@119.10.6.23:~# ls -lart&nbsp;&nbsp;/usr/lib64/libwebp.so.4<br/>lrwxrwxrwx 1 root root 21 4月&nbsp;&nbsp;28 10:08 /usr/lib64/libwebp.so.4 -&gt; /usr/lib64/libwebp.so<br/><br/>还缺一堆东西：<br/>yum install libyaml.x86_64 <br/>yum install libyaml-devel.x86_64<br/>yum install php-pecl-yaml.x86_64<br/><br/> yum install inotify-tools-devel.x86_64<br/> yum install&nbsp;&nbsp;boost-python.x86_64 <br/> yum install boost-random.x86_64 <br/> yum install mysql-libs.x86_64<br/>软件包 boost-1.54.0-9.el6.x86_64.rpm 没有签名<br/> rpm -e&nbsp;&nbsp;boost-devel-1.41.0-25.el6.centos.x86_64<br/> rpm -e boost-1.41.0-25.el6.centos.x86_64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/><br/><br/><br/><br/>———————————————建议centos hhvm使用下面的安装脚本———————————————<br/>这样直接就是最新的了hhvm3.4了<br/>添加epel yum源<br/>rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm<br/>安装hhvm所需要的依赖包<br/>yum -y install libmcrypt-devel glog-devel jemalloc-devel tbb-devel libdwarf-devel mysql-devel &#92;libxml2-devel libicu-devel pcre-devel gd-devel boost-devel sqlite-devel pam-devel &#92;bzip2-devel oniguruma-devel openldap-devel readline-devel libc-client-devel libcap-devel &#92;libevent-devel libcurl-devel libmemcached-devel<br/>添加gleez yum源(官方地址被墙)<br/>rpm -Uvh http://blog.linuxeye.com/wp-content/uploads/2014/05/gleez-repo-6-0.el6.noarch.rpm<br/>添加remi yum源<br/>rpm -Uvh http://rpms.famillecollet.com/enterprise/6/remi/x86_64/remi-release-6.5-1.el6.remi.noarch.rpm<br/>从remi安装hhvm依赖包<br/>yum -y --enablerepo=remi install libwebp mysql mysql-devel mysql-lib<br/>安装hhvm<br/>yum -y --nogpgcheck install hhvm<br/>查看hhvm版本号<br/>hhvm --versionHipHop VM 3.4.0-dev+2014.09.29 (rel)Compiler: heads/master-0-gfe70efe4efa8318536ea1d4940362e83e641d905Repo schema: e3bee358a000cf7efe3a0f9642cdc9b488963dcaExtension API: 20140829脚本来自：http://blog.linuxeye.com/<br/><br/><br/>CentOS 7下hhvm Nginx环境搭建:<br/>http://www.linuxeye.com/Linux/2029.html<br/>———————————————————安装步骤—————————————————————————<br/>一、CentOS 6.5 32位安装 HHVM:<br/>安装：<br/>yum -y install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm<br/>cd /etc/yum.repos.d<br/>wget http://www.hop5.in/yum/el6/hop5.repo<br/>yum clean all<br/>yum install hhvm<br/>可能遇到的问题：<br/>1.hhvm: error while loading shared libraries: liblcms2.so.2: cannot open shared object file: No such file or directory<br/><br/>yum install http://pkgrepo.linuxtech.net/el6/release/x86_64/liblcms2-2.4-1.el6.x86_64.rpm<br/>2.其他相关文章<br/>http://blog.csdn.net/ownfire/article/details/41366995<br/>http://blog.linuxeye.com/396.html<br/>http://blog.csdn.net/lxlmj/article/details/22283043<br/><br/><br/>二、64位安装HHVM包：<br/>安装hhvm<br/>添加epel yum源<br/><br/>rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm<br/>安装hhvm所需要的依赖包<br/><br/>yum -y install libmcrypt-devel glog-devel jemalloc-devel tbb-devel libdwarf-devel mysql-devel &#92;<br/>libxml2-devel libicu-devel pcre-devel gd-devel boost-devel sqlite-devel pam-devel &#92;<br/>bzip2-devel oniguruma-devel openldap-devel readline-devel libc-client-devel libcap-devel &#92;<br/>libevent-devel libcurl-devel libmemcached-devel<br/>添加gleez yum源(官方地址被墙)<br/><br/>rpm -Uvh http://blog.linuxeye.com/wp-content/uploads/2014/05/gleez-repo-6-0.el6.noarch.rpm<br/>添加remi yum源<br/><br/>rpm -Uvh http://rpms.famillecollet.com/enterprise/6/remi/x86_64/remi-release-6.5-1.el6.remi.noarch.rpm<br/>从remi安装hhvm依赖包<br/><br/>yum -y --enablerepo=remi install libwebp mysql mysql-devel mysql-lib<br/>安装hhvm<br/><br/>yum -y --nogpgcheck install hhvm<br/>查看hhvm版本号<br/><br/>hhvm --version<br/>HipHop VM 3.4.0-dev+2014.09.29 (rel)<br/>Compiler: heads/master-0-gfe70efe4efa8318536ea1d4940362e83e641d905<br/>Repo schema: e3bee358a000cf7efe3a0f9642cdc9b488963dca<br/>Extension API: 20140829<br/>3. 配置hhvm<br/>删除安装hhvm时创建的nginx用户<br/><br/>userdel -r nginx<br/>修改hhvm目录权限为www<br/><br/>chown -R www.www /var/run/hhvm<br/>chown -R www.www /var/log/hhvm <br/>修改/usr/local/nginx/conf/nginx.conf使其中一段成为如下：<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(php&#124;php5)?$&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass&nbsp;&nbsp; unix:/var/run/hhvm/sock;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_index&nbsp;&nbsp;index.php;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_param&nbsp;&nbsp;SCRIPT_FILENAME $document_root$fastcgi_script_name;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_params;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>service nginx reload<br/>下载支持hhvm方式添加虚拟主机脚本 vhost_hhvm.sh<br/><br/>cd lnmp<br/>wget http://blog.linuxeye.com/wp-content/uploads/2014/05/vhost_hhvm.sh<br/>chmod +x vhost_hhvm.sh<br/>配置hhvm修改/etc/hhvm/config.hdf，保持如下： <br/><br/>ResourceLimit &#123;<br/>&nbsp;&nbsp;CoreFileSize = 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# in bytes<br/>&nbsp;&nbsp;MaxSocket = 10000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # must be not 0, otherwise HHVM will not start<br/>&nbsp;&nbsp;SocketDefaultTimeout = 5&nbsp;&nbsp;# in seconds<br/>&nbsp;&nbsp;MaxRSS = 0<br/>&nbsp;&nbsp;MaxRSSPollingCycle = 0&nbsp;&nbsp;&nbsp;&nbsp;# in seconds, how often to check max memory<br/>&nbsp;&nbsp;DropCacheCycle = 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# in seconds, how often to drop disk cache<br/>&#125;<br/><br/>Log &#123;<br/>&nbsp;&nbsp;Level = Info<br/>&nbsp;&nbsp;AlwaysLogUnhandledExceptions = true<br/>&nbsp;&nbsp;RuntimeErrorReportingLevel = 8191<br/>&nbsp;&nbsp;UseLogFile = true<br/>&nbsp;&nbsp;UseSyslog = false<br/>&nbsp;&nbsp;File = /data/logs/hhvm/error.log<br/>&nbsp;&nbsp;Access &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;* &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File = /data/logs/hhvm/access.log<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format = %h %l %u % t &#92;&quot;%r&#92;&quot; %&gt;s %b<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&#125;<br/>&#125;<br/><br/>MySQL &#123;<br/>&nbsp;&nbsp;ReadOnly = false<br/>&nbsp;&nbsp;ConnectTimeout = 1000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# in ms<br/>&nbsp;&nbsp;ReadTimeout = 1000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in ms<br/>&nbsp;&nbsp;SlowQueryThreshold = 1000&nbsp;&nbsp;# in ms, log slow queries as errors<br/>&nbsp;&nbsp;KillOnTimeout = false<br/>&#125;<br/><br/>Mail &#123;<br/>&nbsp;&nbsp;SendmailPath = /usr/sbin/sendmail -t -i<br/>&nbsp;&nbsp;ForceExtraParameters =<br/>&#125;<br/>配置hhvm修改/etc/hhvm/server.ini，使内容保存如下：<br/><br/>; php options<br/>pid = /var/run/hhvm/pid<br/><br/>; hhvm specific<br/>;hhvm.server.port = 9001<br/>hhvm.server.file_socket = /var/run/hhvm/sock<br/>hhvm.server.type = fastcgi<br/>hhvm.server.default_document = index.php<br/>hhvm.log.use_log_file = true<br/>hhvm.log.file = /var/log/hhvm/error.log<br/>hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc<br/>修改/etc/hhvm/php.ini，使内容保存如下：<br/><br/>hhvm.mysql.socket = /tmp/mysql.sock ;指定mysql.sock路径（hhvm默认路径sock路径是/var/lib/mysql/mysql.sock）<br/>expose_php = 0 ;关闭头信息X-Powered-By (和hhvm.server.expose_hphp = false作用一样)<br/>memory_limit = 400M<br/>post_max_size = 50M <br/>默认hhvm不提供php中类似disable_functions参数，如何禁用hhvm中shell_exec函数？（可选） <br/>在/etc/hhvm/php.ini中追加如下：<br/><br/>hhvm.jit_enable_rename_function=true<br/>auto_prepend_file= /home/wwwroot/default/disable_functions<br/>新建/home/wwwroot/default/disable_functions，使该文件内容如下：<br/><br/>&lt;?php<br/><br/>function __forbidden_function($name, $obj, $args, $data, &amp;$done) &#123;<br/>&nbsp;&nbsp;throw new Exception(&#039;Calling &#039;.$name.&#039; is forbidden.&#039;);<br/>&#125;<br/><br/>fb_intercept(&#039;shell_exec&#039;, &#039;__forbidden_function&#039;);<br/>配置service管理hhvm：<br/><br/>cd /etc/init.d/<br/>rm -rf hhvm #官方默认脚本是以www运行，建议用我修改后的<br/>wget http://blog.linuxeye.com/wp-content/uploads/2014/05/hhvm<br/>chmod +x hhvm<br/>chkconfig hhvm on<br/>service hhvm restart <br/><br/><br/>管理hhvm服务<br/>systemctl enable hhvm #开机自启动<br/>systemctl start hhvm #启动hhvm<br/>systemctl stop hhvm #停止hhvm<br/>systemctl restart hhvm #重启动hhvm<br/>systemctl status hhvm #查看hhvm状态<br/><br/>添加虚拟主机：<br/>vhost_hhvm.sh #和lnmp添加虚拟主机一样<br/>测试wordpress完美运行，且速度非常快；discuz后台正常，前台页面显示有点问题<br/>参考：https://github.com/facebook/hhvm/wiki/HHVM-Pre-built-packages-for-Centos-6.5<br/><br/>安装时，这个rpm包是有很多的依赖：<br/>因为依赖关系问题而跳过的软件包：<br/>&nbsp;&nbsp;&nbsp;&nbsp;OpenEXR-libs-1.6.1-8.1.el6.x86_64 来自 base<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-atomic-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-chrono-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-context-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-date-time-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-devel-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-filesystem-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-graph-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-iostreams-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-locale-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-log-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-math-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-program-options-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-python-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-random-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-regex-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-serialization-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-signals-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-system-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-test-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-thread-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-timer-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;boost-wave-1.54.0-9.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;hhvm-3.5.0-4.el6.x86_64 来自 gleez<br/>&nbsp;&nbsp;&nbsp;&nbsp;ilmbase-1.0.1-6.1.el6.x86_64 来自 base<br/>&nbsp;&nbsp;&nbsp;&nbsp;inotify-tools-3.14-1.el6.x86_64 来自 epel<br/>&nbsp;&nbsp;&nbsp;&nbsp;lcms2-2.3-2.el6.x86_64 来自 epel<br/>&nbsp;&nbsp;&nbsp;&nbsp;libvpx-1.3.0-5.el6_5.x86_64 来自 base<br/>&nbsp;&nbsp;&nbsp;&nbsp;libyaml-0.1.3-4.el6_6.x86_64 来自 updates<br/><br/><br/>yum install boost-1.54.0-9.el6.x86_64<br/><br/>源码安装：http://tomlog.com/tech/2012/12/21/build-hhvm.html<br/><br/><br/>安装脚本：http://amh.sh/bbs/post-4874-1-1.htm
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]CentOS 6.5和CentOS7.0分别安装了下HHVM，并将此用于wordpress网站上，相当不错。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>