在目前的国人网络里面,可以说、建站用的最多的就是 CentOS 6 和军哥的 lnmp 一键包了

CentOS 下军哥 LNMP 安装 HHVM今天就发一篇如何在 CentOS 6 使用 lnmp 一键包中加入 HHVM,在 debian/ubuntu 已经有不少人都在使用 hhvm 这个神器了,但是在 CentOS 下面的话目前看来还是挺少数的、因为也有传言说 hhvm 在 centos 下不稳定之类的(具体从何引证我就不知道了、见仁见智吧)安装方法:

1、首先,在 CentOS 6 下安装好 lnmp 一键包。

现成的也可以,那就直接进行第二步~

2、使用 linuxeye 的一键包安装并稍微配置 hhvm:

wget http://mirrors.linuxeye.com/lnmp.tar.gz
tar zvxf lnmp.tar.gz
cd lnmp
./install.sh

按照下图操作,我们只安装 hhvm 就够了:

CentOS 下军哥 LNMP 安装 HHVM然后修改部分文件,先修改 /etc/hhvm/server.ini,保持为如下内容:

; php options
pid = /var/run/hhvm/pid

; hhvm specific
;hhvm.server.port = 9001
hhvm.server.file_socket = /var/run/hhvm/sock
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc

然后修改 /etc/hhvm/config.hdf,保持为如下内容:

ResourceLimit {
  CoreFileSize = 0          # in bytes
  MaxSocket = 10000         # must be not 0, otherwise HHVM will not start
  SocketDefaultTimeout = 5  # in seconds
  MaxRSS = 0
  MaxRSSPollingCycle = 0    # in seconds, how often to check max memory
  DropCacheCycle = 0        # in seconds, how often to drop disk cache
}

Log {
  Level = Info
  AlwaysLogUnhandledExceptions = true
  RuntimeErrorReportingLevel = 8191
  UseLogFile = true
  UseSyslog = false
  File = /var/log/hhvm/error.log
  Access {
    * {
      File = /var/log/hhvm/access.log
      Format = %h %l %u % t \"%r\" %>s %b
    }
  }
}

MySQL {
  ReadOnly = false
  ConnectTimeout = 1000      # in ms
  ReadTimeout = 1000         # in ms
  SlowQueryThreshold = 1000  # in ms, log slow queries as errors
  KillOnTimeout = false
}

Mail {
  SendmailPath = /usr/sbin/sendmail -t -i
  ForceExtraParameters =
}

下载 linuxeye 现成的启动文件并设为开机启动:

wget -O /etc/init.d/hhvm https://cdn.zntec.cn/store/tools/vhost_hhvm/hhvm
chmod +x /etc/init.d/hhvm
chkconfig hhvm on

至此为止,HHVM 算是安装也配置好了。

3、下载我基于 lnmp 中 vhost 脚本修改后的 hhvm 虚拟主机脚本:

wget -O /root/vhost_hhvm.sh https://cdn.zntec.cn/store/tools/vhost_hhvm/vhost_hhvm.sh
chmod +x ~/vhost_hhvm.sh

然后创建 HHVM 主机的时候就使用 ~/vhost_hhvm.sh 命令。


HHVM 总是 502 要怎么解决?

在 lnmp 中有现成的解决方案可供参考,按照我说的做:

yum install crontabs -y
cp lnmp1.1-full/check502.sh ~/
vim ~/check502.sh

把脚本中相应的内容修改为下图方框所示:

CentOS 下军哥 LNMP 安装 HHVM修改完之后执行如下命令导入到定时任务:

echo "* * * * * /root/check502.sh" /var/spool/cron/root

这样的话正常情况下,hhvm 即使出问题也只会宕一分钟了。


小结

本文大部分内容转载至 linuxeye,同时也推荐一下 linuxeye 的一键包、功能很多

PS:雷总,你要的文章我给你写出来了、还差一篇 phpng 的先欠着吧。。。

最后,上图一张:

CentOS 下军哥 LNMP 安装 HHVM这是 Php 和 HHVM 同时运行并且公共目录都是 /home/wwwroot/default 的截图。

目前有11条回应
Comment
Trackback
Loading ....
  • 观星者 回应于2015/10/29 10:28 回复TA

    请问oneinstack和军哥lnmp有什么区别呢?感觉oneinstack的软件会新一些?目录结构差别大么?注意到你有篇文章说军哥的目录结构很赞,在oneinstack的网站上没看到关于目录的描述

    • Tomas 回应于2015/11/01 23:28 回复TA

      oneinstack 更偏向自定义一点

  • 匿名 回应于2015/05/30 21:07 回复TA

    自从毕业,很少折腾技术活了

  • 笑笑笑 回应于2015/05/29 10:48 回复TA

    centos好像真不适合

    • Tomas 回应于2015/05/30 22:00 回复TA

      用着还凑合,只要有这个 check502 在的话挂的几率小很多了

  • Yin 回应于2015/05/28 03:09 回复TA

    请问centos5如何更新openssl到最新,现在是0.98,使用https的时候协议老是TLSv1,想使用TLSv1.2。

    • Tomas 回应于2015/05/30 22:00 回复TA

      直接在 openssl.org 下载包解压,然后自己编译就可以了

  • 雷大 回应于2015/05/25 08:48 回复TA

    非常好,回去折腾

    • Tomas 回应于2015/05/25 16:06 回复TA

      注意备份。。。别玩挂了。。

  • 神父 回应于2015/05/25 08:35 回复TA

    debian呢

    • Tomas 回应于2015/05/25 16:05 回复TA

      Debian/Ubuntu 的话,直接从源安装 hhvm 然后用这个虚拟主机创建脚本就可以了。从源安装的话网上好多,freehao123 有。可以参考一下

  • 本篇文章没有Trackback
你目前的身份是游客,请输入昵称和电邮!