在CentOS 6.5上安装 HHVM 3.2

1 篇文章 0 订阅
安装HHVM开始:
  
  
# yum install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
# cd /etc/yum.repos.d
# wget http://www.hop5.in/yum/el6/hop5.repo
# yum remove libevent-devel libevent-doc
# yum install hhvm 
查看HHVM是否安装成功:
  
  
# hhvm --version
显示如下信息,则说明安装成功:

   
   
HipHop VM 3.2.0 (rel)
Compiler: tags/HHVM-3.2.0-0-g01228273b8cf709aacbd3df1c51b1e690ecebac8
Repo schema: c52ba40f4a246d35a88f1dfc1daf959851ced8aa

使用 Nginx + HHVM:

  
  
location ~ \.php$ {
       fastcgi_pass 127.0.0.1:9001;
       # fastcgi_pass unix:/var/run/hhvm/sock;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
}
配置service管理hhvm:
  
  
cd /etc/init.d/
rm -rf hhvm     #官方默认脚本是以www运行,建议用我修改后的
wget http://blog.linuxeye.com/wp-content/uploads/2014/05/hhvm --no-check-certificate
chmod +x hhvm
chkconfig hhvm on
/ etc / init . d /hhvm脚本内容如下:

 
 
#!/bin/bash
 
# config: /etc/hhvm/server.ini
# config: /etc/sysconfig/hhvm
# pidfile: /var/run/hhvm/hhvm.pid
 
# Description: Starts The HHVM FastCGI Daemon
 
# Standard LSB functions
#. /lib/lsb/init-functions
 
# Source function library.
. /etc/init.d/functions
# Check that networking is up.
. /etc/sysconfig/network
if [ "$NETWORKING" = "no" ]
then
        exit 0
fi
RETVAL=0
HHVM=/usr/bin/hhvm
prog="Hhvm"
pidfile=${PIDFILE-/var/run/hhvm/pid}
lockfile=${LOCKFILE-/var/run/hhvm/lock}
CONFIG_HDF_FILE="/etc/hhvm/config.hdf"
CONFIG_FILE="/etc/hhvm/server.ini"
SYSTEM_CONFIG_FILE="/etc/hhvm/php.ini"
MODE=daemon
USER=www
ARGS="--config ${CONFIG_FILE} --config ${SYSTEM_CONFIG_FILE} --config ${CONFIG_HDF_FILE}"
 
if [ -f /etc/sysconfig/hhvm ]; then
        . /etc/sysconfig/hhvm
fi
 
start() {
        echo -n $"Starting $prog: "
        dir=$(dirname ${pidfile})
        [ -d $dir ] || mkdir $dir
        ${HHVM} --mode ${MODE} --user ${USER} ${ARGS}
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch ${lockfile}
}
 
stop() {
        echo -n $"Stopping $prog: "
        killproc -p ${pidfile} ${HHVM}
        RETVAL=$?
        echo
        if [ $RETVAL -eq 0 ] ; then
                rm -f ${lockfile} ${pidfile}
        fi
}
 
restart () {
        stop
        start
}
 
# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status -p ${pidfile} ${HHVM}
        RETVAL=$?
        ;;
  restart)
        restart
        ;;
  *)
        echo $"Usage: $prog {start|stop|status|restart}"
        RETVAL=2
 
esac
exit $RETVAL
 配置HHVM,修改 /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 =
}
修改属主:
   
   
chown -R www:www /var/run/hhvm
chown -R www:www /var/log/hhvm
chmod -R 755 /var/run/hhvm
chmod -R 755 /var/log/hhvm
修改 /etc/hhvm/server.ini,(默认配置为server.hdf,为旧版本使用):
   
   
; 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.level = Info
hhvm.log.always_log_unhandled_exceptions = true
hhvm.log.runtime_error_reporting_level = 8191
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log ; 请注意此处目录属主要和HHVM相同,并且目录可写
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
hhvm.mysql.typed_results = false
修改 /etc/hhvm/php.ini:
     
     
hhvm.mysql.socket = /tmp/mysql.sock ;指定mysql.sock路径(hhvm默认路径sock路径是/var/lib/mysql/mysql.sock
expose_php = 0 ;关闭头信息X-Powered-By (和hhvm.server.expose_hphp = false作用一样)
memory_limit = 400M
post_max_size = 50M 
    最后,启动 HHVM服务:
  
  
# service hhvm start
另外,添加Nginx虚拟机脚本:
   
   
wget http://blog.linuxeye.com/wp-content/uploads/2014/05/vhost_hhvm.sh --no-check-certificate
注意事项:
hhvm进程经常会自杀,所以必须要有一个守护进程。这里使用supervisor
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 6.5安装并配置 DNS 服务器的步骤如下: 1. 安装 BIND 软件: ``` yum install bind bind-utils ``` 2. 配置 BIND 在 /etc/named.conf 文件中配置 BIND,可以参考下面的示例配置: ``` options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; recursion yes; dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "example.com" IN { type master; file "zone/example.com.zone"; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; ``` 上面的配置中,listen-on 指定 BIND 监听的 IP 地址和端口,directory 指定 BIND 的工作目录,allow-query 指定允许查询 DNS 的 IP 地址,zone 部分指定了 DNS 解析的域名和对应的配置文件路径。 3. 创建 DNS 配置文件 在 /var/named/ 目录下创建一个名为 example.com.zone 的文件,可以参考下面的示例配置: ``` $TTL 1D @ IN SOA ns.example.com. root.example.com. ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.example.com. ns IN A 192.168.0.1 www IN A 192.168.0.2 ``` 上面的配置中,@ 表示当前域名,IN 表示 Internet 类型,SOA 表示 Start of Authority,NS 表示 Name Server,A 表示 Address。可以根据自己的需求配置相应的解析记录。 4. 启动 BIND 执行以下命令启动 BIND: ``` service named start ``` 5. 配置 DNS 客户端 在需要使用 DNS 服务的客户端上,可以将 DNS 服务器地址设置为 BIND 服务器的 IP 地址,即 192.168.0.1。 参考上述步骤,可以在 CentOS 6.5安装并配置 DNS 服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值