还没安装的朋友们可以参考前一篇文章 HHVM 初体验 | CentOs 7 下安装笔记
还没安装LNMP环境的可以参考这一篇 Centos7 mini 配置 php7+nginx+mysql 最详细过程,为linux小白送福利
配置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
创建一个新的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;
类似于:
检查语法是否有误,若无误重新启动
nginx -t
nginx -s reload
到nginx解析目录下创建测试文件 index.php
cd /usr/share/nginx/html/
vi index.php
输出
<?php
phpinfo();