HHVM 配置 NGINX web 服务器,让你的php更快!(centos7)

in web技术 with 0 comment 访问: 2,314 次

安装 hhvm

还没安装的朋友们可以参考前一篇文章 HHVM 初体验 | CentOs 7 下安装笔记

还没安装LNMP环境的可以参考这一篇 Centos7 mini 配置 php7+nginx+mysql 最详细过程,为linux小白送福利

配置 HHVM

配置HHVM作为systemd服务运行, 我们将在unix套接字文件上运行HHVM, 使之更快

在 systemd 目录并创建 “hhvm.service” 文件

cd /etc/systemd/system/
vi hhvm.service

复制粘贴如下配置

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service
 
[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock
 
[Install]
WantedBy=multi-user.target

保存退出。

接下来编辑 HHVM 目录中的 “server.ini” 文件

cd /etc/hhvm/
vi server.ini

在大约第七行的位置找到hhvm.server.port行替换为下面 unix socket 方式:

hhvm.server.file_socket = /var/run/hhvm/hhvm.sock

接着将 socket 文件目录的所有者更改为“nginx”用户,因为上文中我们定义了 hhvm 以 nginx 用户身份运行
(如果没有就创建 mkdir hhvm)

chown -R nginx:nginx /var/run/hhvm/

从新加载系统服务,重启 hhvm 并设置为开机启动

systemctl daemon-reload
systemctl restart hhvm
systemctl enable hhvm

配置 Nginx

创建一个新的HHVM配置文件并将其包含在Nginx配置文件中

cd /etc/nginx/
vi hhvm.conf

复制粘贴如下配置(根据自己的解析路径,我的是默认的 /usr/share/nginx/html

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

保存退出。

编辑 同级目录下的nginx.conf

vi nginx.conf

将 hhvm.conf 引入到 nginx.conf 中的server中,大约在57行的位置

include /etc/nginx/hhvm.conf;

类似于:

2.png

重启 nginx

检查语法是否有误,若无误重新启动

nginx -t
nginx -s reload

测试

到nginx解析目录下创建测试文件 index.php

cd /usr/share/nginx/html/
vi index.php

输出

<?php 
    phpinfo();

1.png

赞赏支持
Responses