HHvm建站环境搭建方法:Nginx、lnmp/lamp等安装部署
off999 2025-01-18 23:09 28 浏览 0 评论
HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升。HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行PHP的中间字节码(HHVM生成自己格式的中间字节码)。
HHvm可以很大程度上提高PHP的性能,能够让同等配置的服务器承受更多的流量。HHvm建站环境搭建起来有点复杂,之前的HHVM安装使用教程和HHvm Apache 2.4 Nginx建站环境因为要依赖于编译,各种代码执行,会出现各种莫名的问题,安装HHvm成功率比较低。
本篇文章就来为大家介绍一下在CentOS上实现Nginx,Mariadb,hhvm及lnmp/lamp快速安装部署的方法,让你轻松用上HHvm建站环境,体验HHvm极致性能。
HHvm建站环境搭建方法:Nginx、Mariadb、hhvm及lnmp/lamp安装部署
一、 HHvm建站环境安装前准备
1、本文以 CentOS 6.5 X86_64 为例,同时请各位使用 64 位系统安装 hhvm,VPS 内存不大的孩子们(128M 这种)、还是放弃吧,HHVM 太折腾。
2、执行如下命令,添加源:
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm yum -y install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm wget -O /etc/yum.repos.d/hop5.repo http://www.hop5.in/yum/el6/hop5.repo
3、除了上面的三个,我们还需要添加一下 MariaDB 的源:vim /etc/yum.repos.d/MariaDB.repo ,然后在文件中加入如下内容:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
4、至此,要用的源都有了。顺便执行一下 yum clean all;yum makecache 。如果出现问题的话,将如下 hosts 加入到你的 VPS(这是我暂时反代的,如果反代失效了你就自己反代一个然后加 hosts):
192.243.116.132 www.hop5.in 192.243.116.132 nginx.org
二、安装Nginx、Mariadb、hhvm
1、安装 nginx,执行命令:yum install nginx -y ,然后可以选择删除相应的文件目录:rm -rf /etc/nginx/conf.d/
2、安装 mariadb ,执行命令:yum install MariaDB-server MariaDB-client MariaDB-devel -y
3、在安装完毕后启动 mysql 并执行一下配置向导,命令如下:
service mysql start mysql_secure_installation
4、第一个要求输入密码的直接按回车(因为默认安装密码为空),然后跟着向导走。如图(点击放大):
3、安装 hhvm 所需要的依赖环境:
yum -y install libmcrypt-devel glog-devel jemalloc-devel tbb-devel libdwarf-devel mysql-devel \ libxml2-devel libicu-devel pcre-devel gd-devel boost-devel sqlite-devel pam-devel \ bzip2-devel oniguruma-devel openldap-devel readline-devel libc-client-devel libcap-devel \ libevent-devel libcurl-devel libmemcached-devel
4、安装完上面的杂碎,然后就正式开始安装 hhvm,命令:yum install hhvm -y
5、如果出现“hhvm: error while loading shared libraries: liblcms2.so.2: cannot open shared object file: No such file or directory”错误,执行如下命令:
yum -y install http://pkgrepo.linuxtech.net/el6/release/x86_64/liblcms2-2.4-1.el6.x86_64.rpm
6、安装成功的话,下载 linuxeye 的启动文件替换原来的:
wget -O /etc/init.d/hhvm http://cdn.zntec.cn/store/tools/vhost_hhvm/hhvm chmod +x /etc/init.d/hhvm
4、安装 memcached(可选,不过我建议如果是 WordPress 的话还是安装吧):yum install memcached -y
注:相关网站建设技巧阅读请移步到建站教程频道。
三、配置并运行HHvm建站环境
1、首先,设为开机启动是必须的:
chkconfig nginx on chkconfig mysql on chkconfig hhvm on chkconfig memcached on
2、给 hhvm 单独新建个配置,方便日后使用:vi /etc/nginx/hhvm.conf ,然后在里面加入如下内容:
location ~ [^/]\.php(/|$) { fastcgi_keep_conn on; fastcgi_pass unix:/var/run/hhvm/sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 3、然后删掉原先的配置文件自己新建 hhvm 配置:
rm -rf /etc/hhvm/* vi /etc/hhvm/server.ini
4、在其中加入如下内容:
; 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
5、然后编辑:vi /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 = }6、新建站点配置: vi /etc/nginx/conf.d/xxxxx.conf ,加入如下配置:
server { listen 80; server_name xxxxx; index index.html index.htm index.php; root /home/wwwroot/xxxxx; #include wordpress.conf; include hhvm.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/xxxxx.log; }7、然后记得给自己生成个日志文件和相关的目录:
mkdir /home/wwwroot mkdir /home/wwwlogs touch /home/wwwlogs/xxxxx.log
8、请把如上内容中的 “xxxxx” 改为你的域名,然后把网站文件放在 /home/wwwroot/xxxxx 下即可搭建网站(lnmp 用习惯了,目录习惯改不掉了)
9、注意:如果你的站点是 wordpress,就把上面配置代码中的 include wordpress.conf 前的“#”号去掉,然后编辑:vi /etc/nginx/wordpress.conf ,加入如下内容:
location / { try_files $uri $uri/ /index.php?$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent;10、重启一下 nginx 看看可否启动: service nginx restart 。如果启动的时候说端口被占用了,就看看 netstat -anp | grep hhvm ,估计你得到的结果就 hhvm 占用了 80 端口。 执行命令: pkill hhvm
11、然后再重新启动 nginx 就会显示 OK 了。最后晒个探针图(点击放大):
12、 这样配置的阿里云,使用 hhvm 用探针做性能测试的话,如下图(点击放大):
13、利用上文介绍的搭建hhvm 的方法,管理数据库之类的可以使用 phpmyadmin ,在线管理文件可以使用 kodexplorer ,如果是再次新建站点的时候就直接执行:
cp /etc/nginx/conf.d/xxxxx.conf /etc/nginx/conf.d/xxx.conf
四、LNMP+HHVM建站环境配置
1、在目前的国人网络里面,可以说、建站用的最多的就是 CentOS 6 和军哥的 lnmp 一键包了。这里再介绍一如何在 CentOS 6 使用 lnmp 一键包中加入 HHVM。首先在 CentOS 6 下安装好 lnmp 一键包。
2、使用linuxeye的一键包安装并稍微配置 hhvm。
wget http://mirrors.linuxeye.com/lnmp.tar.gz tar zvxf lnmp.tar.gz cd lnmp ./install.sh
3、按照下图操作,我们只安装 hhvm 就够了(点击放大)。
4、然后修改部分文件,先修改 /etc/hhvm/server.ini,保持为如下内容。
5、然后修改 /etc/hhvm/config.hdf,保持为如下内容。
6、下载 linuxeye 现成的启动文件并设为开机启动。
wget -O /etc/init.d/hhvm http://cdn.zntec.cn/store/tools/vhost_hhvm/hhvm chmod +x /etc/init.d/hhvm chkconfig hhvm on
7、至此为止,HHVM 算是安装也配置好了。下载zntec.cn博主基于 lnmp 中 vhost 脚本修改后的 hhvm 虚拟主机脚本:
wget -O /root/vhost_hhvm.sh http://cdn.zntec.cn/store/tools/vhost_hhvm/vhost_hhvm.sh chmod +x ~/vhost_hhvm.sh
8、然后创建 HHVM 主机的时候就使用 ~/vhost_hhvm.sh 命令。
五、lnmp、lamp、lnmpa+HHvm一键安装
1、上面在安装LNMP+HHvm时,我们已经用到了linuxeye.com开发的lnmp、lamp、lnmpa+HHvm一键安装包。官方网站:
1、项目首页:https://blog.linuxeye.com/31.html
2、Github地址:https://github.com/lj2007331/lnmp
2、lnmp/lamp/lnmpa(Linux、Nginx/Tengine、MySQL/MariaDB/Percona、PHP),适用于CentOS 5~7(包括redhat)、Debian 6~8、Ubuntu 12.04~15.04的32位和64位。
3、lnmp、lamp、lnmpa+HHvm一键安装包最大的特点就可以让你一键安装Nginx/Tengine、Apache、PHP、Redis、memcached,同时提供ZendOPcache、xcache、apcu、eAccelerator及php加解密工具ionCube、ZendGuardLoader一键安装。
4、不会安装的可以直接使用lnmp、lamp、lnmpa+HHvm一键安装包,支持CentOS 6、7下HHVM安装。执行命令:
yum -y install wget screen #for CentOS/Redhat #apt-get -y install wget screen # for Debian/Ubuntu wget http://aliyun-oss.linuxeye.com/lnmp-full.tar.gz #阿里云内网下载 wget http://mirrors.linuxeye.com/lnmp-full.tar.gz # 包含源码,国内外均可下载 wget http://mirrors.linuxeye.com/lnmp.tar.gz # 不包含源码,建议仅国外主机下载 tar xzf lnmp-full.tar.gz #tar xzf lnmp.tar.gz cd lnmp # 如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件 screen -S lnmp # 如果网路出现中断,可以执行命令`screen -r lnmp`重新连接安装窗口 ./install.sh # 请勿sh install.sh或者bash install.sh这样执行
5、 根据你的需要,你可以选择lnmp、lamp、lnmpa任意搭配,Apache、PHP、MysqL等都可以选择不同的版本。(点击放大)
6、同时你也可以选择相应的组件,例如ZendOPcache、xcache、apcu、eAccelerator等等。(点击放大)
7、添加虚拟主机时请直接使用以下命令:
cd ~/lnmp # 必须进入lnmp目录下执行 ./vhost.sh
8、你可以设置网站的目录、绑定域名、防盗链、静态规则、访问日志等。如果你安装了HHvm,你创建虚拟主机时会让你选择是使用PHP还是HHvm。(点击放大)
六、 HHVM 建站环境小结
1、在使用HHVM过程中我们经常会遇到服务器502错误。 如果你使用的是军哥的LNMP一键安装包,在lnmp 中已经有现成的解决方案可供参考。
yum install crontabs -y cp lnmp1.1-full/check502.sh ~/ vim ~/check502.sh
2、把脚本中相应的内容修改为下图方框所示:
3、修改完之后执行如下命令导入到定时任务:
echo "* * * * * /root/check502.sh" /var/spool/cron/root
4、HHvm建站环境对于提升PHP的性能是非常有帮助的,但是当前有不少的PHP程序对于HHvm还不是完美兼容,已知Wordpress在HHvm中运行没有任何问题,国内的Discuz!论坛在HHvm上有部分问题。
相关推荐
- 独一无二繁体字网名(独一无二繁体字网名大全)
-
超复杂网名用繁体字表示就应写成“超複雜”,看看复杂的繁体字“複雜”的写法是蛮复杂,所以简体字的运用大大方便了人们的使用。殺軟嬌貪歡張錯過樂極寵愛兩壹塹長壹牽帶?g??稀爱★?a流.浪.猪爱...
- 2025组装机配置清单(2020年组装机主流配置)
-
13代已经出了。现在入手12代英特尔平台性价比最高。这套在3000比较偏显卡,也可以显卡用影驰GTX16504GD6128Bit,价格1100,省下来的钱可以把内存升级为8G×2条16G。Cp...
- 宗门系统流小说排行榜(宗门系统文)
-
第一《史上第一祖师爷》作者:八月飞鹰短书评:系统主线任务:林锋开山立派,建立史上第一大宗门,林锋本人成为第一祖师。第二《修真门派掌门路》作者:齐可休书评:本命由天授,同参伴我行逍遥两相对,一道诵黄庭在...
- 水星路由器设置ip地址(水星路由器的ip地址怎么改)
-
mercury无线路由器设置IP地址的步骤如下: 1、先将宽带网线插到路由器的wan口,再插入电源插头。 2、在带有无线网卡的笔记本电脑上右击“网上邻居”,选择“属性”。 3、再右击“本地连接”...
- 正版w10系统多少钱
-
Windows10家庭版官方价格:888元Windows10专业版价格:1799元Windows10家庭版到专业版升级包价格:879元Windows10企业版价格:4200元Windows10教育版价...
- 七彩虹(七彩虹显卡)
-
https://www.colorful.cn/七彩虹于2005年深圳成立。深耕于电脑主机板卡硬件的二十年间,七彩虹完成了三大阶段的战略转型,成功地由计算机零组件代理商蜕变成为拥有自主研发、自主生产、...
- 华硕驱动下载专区(华硕官方驱动)
-
从华硕官网下载原装系统可以按以下步骤进行:1.打开华硕官网:https://www.asus.com/cn/。2.将鼠标移动到“支持”菜单上,并点击“驱动与工具”。3.在页面中找到“操作系统”选...
- 黑客教你破解wifi密码(黑客教你破解wifi密码是多少)
-
黑客是利用wifi的拼码,或者路由器的加密不强破解的,高级的黑客,在很短的时间内就可以破解密码繁杂的wifi你是用了别人的软件吧太相信别人了什么黑客。带一堆模块的玩意儿也叫黑客?黑客和骇客是两...
- 高仿ios主题全套软件(超高仿ios安卓主题)
-
IPhone12启动器全套仿Ios12桌面主题是一款能够让大家的安卓手机秒变苹果机的系统工具,IPhone12启动器可让你的手机直接变成IPhone12的桌面。从主题,桌面,Ui以及系统内的各种细节,...
- win10在哪里下载软件最好(win10软件在哪下载比较好)
-
1、点击Win10系统的开始菜单,然后在点击应用商店;2、打开Win10应用商店后,在搜索框里输入想要搜索的应用软件,然后点击检索;3、点击搜索到的应用,点击安装;4、点击安装后,系统会提示要切换到这...
- 电脑软件怎么安装(电脑软件怎么安装到手机上)
-
电脑怎么安装excel软件方法/步骤:1.在电脑左下角找到这个小圆圈,单击小圆圈打开搜索栏。搜索MicrosoftStore。2.在右上角找到搜索,单击搜索。在搜索中输入Excel。回车键打开。3....
- u盘win7系统安装盘(u盘里安装win7系统)
-
有些软件我们从网上下载安装时需要破解密码或者我们没有网时,直接需要把安装的软件,传到别的电脑,具体操作如下:1。直接把另一台电脑桌面上的软件复制或发送的优盘里,其实那只是一个快捷方式2.以ps软件为例...
- 语音输入法哪个好用(语音输入法免费版下载安装)
-
日常基本使用的讯飞和搜狗都还不错,对比来看的话,讯飞相对会更好一些。讯飞输入法在键盘输入方面进步非常快,功能也比较全面。单纯的语音方面,讯飞的稍微好一点,例如一些标点、断句之类处理的更加到位。讯飞支持...
- 手机app应用市场(手机里面的应用市场)
-
360手机助手是android智能手机的手机管理专家。提供海量的游戏、软件、音乐、小说、视频、图片,通过它轻松下载、安装、管理手机资源。所有提供信息资源,全部经过360安全检测中心的审核认证,绿色无毒...
-
- 开局最强系统(开局最强系统txt奇书网)
-
《最强奶爸系统》作者:最美猪猪小说简介同学甲:“我找到了月入七千的工作。”同学乙:“我找到了月入一万的工作。叶辰,你呢?”叶辰:“我老婆…是万亿市值超凡集团的老板,给我生了10个孩子。”同学们:???叶辰遭前女友陷害,阴差阳错邂逅了一位美女...
-
2026-01-03 07:03 off999
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
