Ubuntu系统部署HHVM网站环境(LEMH)

 

HHVM(HipHop Virtual Machine),由大名鼎鼎的FACEBOOK公司开发的用来执行PHP脚本的虚拟机环境,可以大大的提高PHP执行环境性能。相比较我们传统的网站环境来看,同等的硬件配置可以承受更大的流量访问用户压力,只不过我们国内还没有流行起来,提供这类安装环境的教程比较少,也或者我们暂时还没有重视。

 

之前一段时间有网友提到是否可以提供这些方面的教程,毕竟老左之前也没有安装过和使用过,于是只能现学现用,参考国内、国外的已有较少的教程。这篇文章介绍在Ubuntu 14.04系统中搭建LEMH环境,采用Linux, Nginx, MariaDB, HHVM部署环境的过程。

 

第一、安装Nginx

 

 代码如下 复制代码

apt-get update
apt-get install nginx

 

 

在安装过程中,需要输入y回车,然后我们service nginx start启动NGINX就可以安装完毕。验证是否完整安装,我们在浏览器中输入IP地址,可以看到"Welcome to nginx on Debian!"就没有问题了。

 

 

第二、安装MariaDB

 

多年来,我们在安装网站环境的过程中,都习惯使用MYSQL数据库,自动被收购之后有存在闭源安全的问题,于是大家考虑转向使用MariaDB。MariaDB管理系统是MYSQL数据库的分支,目前主要由于开源社区在维护,且与MYSQL兼容性很好,可以说是MYSQL的替代品也不错。

 

如果我们服务器有安装过MYSQL,那就先要删除,然后再安装MariaDB

 

 代码如下 复制代码

apt-get remove --purge mysql-server mysql-client mysql-common
apt-get autoremove
rm -rf /var/lib/mysql
apt-get autoclean

 

添加PPA

 

 代码如下 复制代码

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
add-apt-repository 'deb http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main'
apt-get update

 

安装MariaDB

 

 代码如下 复制代码

apt-get install mariadb-server

 

执行过程中需要输入y回车可以继续。

 

 

输入设置数据库ROOT密码,回车然后再输入一次。安装完毕之后执行service mysql start启动MYSQL数据库。

 

第三、安装PHP和HHVM

 

HHVM不是用来代替PHP的,是PHP开源虚拟机提高PHP性能的,采用JIT编译的,性能卓越,据说越来越比较多人使用。我们在安装HHVM之前,需要先安装PHP。

 

 代码如下 复制代码

apt-get install php5-fpm php5-mysql php5-curl

 

执行脚本,遇到需要继续的输入y回车。然后我们安装HHVM。

 

 代码如下 复制代码

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -
echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list
apt-get update
apt-get install hhvm

 

 

安装完毕之后我们需要执行脚本配置NGINX。

 

 代码如下 复制代码

sh /usr/share/hhvm/install_fastcgi.sh

 

 

然后重启HHVM

 

 代码如下 复制代码

service hhvm restart

 

重启完毕之后我们就可以测试是否安装完毕HHVM。

 

 代码如下 复制代码

vi /var/www/html/phpinfo.php

 

然后添加脚本

 

 

保存之后,我们在浏览器地址栏中输入http://我们VPS主机IP地址/phpinfo.php,可以看到。

 

 

看到这个之后就没有问题了。HHVM就完毕安装。

 

第四、配置HHVM+Nginx站点

 

我们在环境安装完毕之后我们就需要添加域名进行站点配置了。

 

1、添加配置文件

 

 代码如下 复制代码

vi /etc/nginx/sites-available/my-site

 

然后黏贴下面的脚本

 

 代码如下 复制代码

server {
listen 80;
listen [::]:80;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.html index.htm;

server_name laozuo.org;
include hhvm-with-fallback.conf;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location @fallback {
#       include snippets/fastcgi-php.conf;
#
#       # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}

 

我们需要注意上面两处红色的标注,需要修改网址和文件存储。

 

2、PHP5-FPM备用系统

 

HHVM有些时候会存在问题,在这样的情况下,我们需要用一个备用系统,当HHVM失败之后,我们用PHP5-FPM接管。所以,我们需要添加配置fallback。

 

 代码如下 复制代码

vi /etc/nginx/hhvm-with-fallback.conf

 

然后贴上

 

 代码如下 复制代码

location ~ \.(hh|php)$ {
proxy_intercept_errors on;
error_page 500 501 502 503 = @fallback;

fastcgi_keep_conn on;

fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;
}

 

然后我们保存退出。

 

3、测试NGINX

 

 代码如下 复制代码

nginx -t

 

 

4、重启Nginx

 

 代码如下 复制代码

service nginx restart

 

重启nginx使得NGINX生效。

 

总结,每次写教程都比较折腾,开始使用DEBIAN测试的,发现有点点问题,然后又切换回UBUNTU系统,不论如何最后能成功安装出来,且给自己以后需要和有网友需要学习参考,是老左最大的荣幸。在这篇文章中,我们可以在UBUNTU环境中部署LEMH(Linux, Nginx, MariaDB, HHVM),如果我们站点有需要,可以试试。

原文来自 :http://www.laozuo.org/6383.html

时间: 2024-10-29 09:51:11

Ubuntu系统部署HHVM网站环境(LEMH)的相关文章

CentOS 6.7 源码搭建LNMP架构部署动态网站环境

源码搭建LNMP架构部署动态网站环境 Nginx 简介 Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳定性.丰富的功能以及占用较少的系统资源等独特特性. Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器.Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例

在Ubuntu系统中配置chroot环境的教程

  你可能会有很多理由想要把一个应用.一个用户或者一个环境与你的 linux 系统隔离开来.不同的操作系统有不同的实现方式,而在 linux 中,一个典型的方式就是 chroot 环境. 在这份教程中,我会一步一步指导你怎么使用 chroot 命令去配置一个与真实系统分离出来的独立环境.这个功能主要可以用于测试项目,以下这些步骤都在 Ubuntu 14.04 虚拟专用服务器(VPS)上执行. 学会快速搭建一个简单的 chroot 环境是一项非常实用的技能,绝大多数系统管理员都能从中受益. Chr

Ubuntu系统下Angularjs开发环境安装_AngularJS

一.win7环境下安装ubuntu系统  http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html  注意:在安装的第四步选择"安装ubuntu系统,与win7系统共存"这一项,这样可以免去后面的分区,安装更方便 二.安装jdk8  http://hi.baidu.com/270460591/item/5a6a9bcf8f352e4dbdef69cd  注意:配置文件改为在~/.bashrc里面加入 export JA

CentOS 7系统中hhvm Nginx环境安装配置

CentOS 7(hhvm只支持64位)下hhvm Nginx环境搭建,,到目前为止CentOS 7下还没有hhvm rpm安装包,因此采用源码编译.在安装hhvm前强力建议先利用<lnmp一键安装包>安装完整的lnmp(包括Nginx.PHP.MySQL),通过这种方式我们可以在同一台服务器对每个虚拟主机进行配置,如在同一台服务器上有www.111cn.net跑在PHP上.另一个网站blog.linuxeye.com可以选择跑在hhvm,并可以自由切换用php还是hhvm,只需要简单修改虚拟

在Ubuntu系统上构建Android环境以及从Google Play上下载APK

  打造一个全命令行的Android构建系统 step 1 安装 JDK 环境 配合android的JDK最好选用JDK官方版本而不是Open JDK,下面是在unbuntu下安装JDK 1.7的方法. 代码如下: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer step 2 安装 Android SDK android sdk

Ubuntu系统下设置Java环境变量图文教程

我们安装Ubuntu 后,需要安装和配置 Java 环境,以支持其它基于 jre 的软件的运行.所以安装好 Ubuntu 后立马安装和配置好 Java 环境.下面就教大家如何一步一步达成此目的. 下载 jdk,当前的版本是 jdk-8u45.选择适合自己系统的版本进行下载,下载好之后放在 Download 目录下 然后使用 Ctrl + Alt + t 打开终端进入 Download 目录下,使用 tar -xf jdk-8u45-linux-x64.tar.gz 命令进行解压,接着再使用命令

使用Ubuntu系统访问国外网站简单解决方案

教育网一般是无法直接登录国外网站的.但是日常应用中经常遇到需要访问国外网站的情况,比如下载比较冷僻的软件.此时,一般用户选择使用代理.免费代理一般速度慢,不稳定.本文试图提供几种比较稳定的教育网出国方案,供大家参考使用.如果哪位朋友还有方法,欢迎完善. 测试环境 操作系统: ubuntu8.04.1(i386) 浏览器: firefox3.0 网络: 教育网直连 IP+MAC验证 方案A 使用GAppProxy.项目站点为内有详细安装方法. 测试结果显示速度很快.但是仅支持标准80端口的HTTP

Ubuntu系统中安装编译环境和OpenGL图形驱动

安装编译环境和OpenGL图形驱动,为安装geant4做基础准备. 1.安装基本编译环境 sudo apt-get install build-essential 2.安裝OpenGL Library sudo apt-get install libgl1-mesa-dev 3.安裝OpenGL Utilities sudo apt-get install libglu1-mesa-dev OpenGL Utilities 是一組建構於 OpenGL Library 之上的工具組,提供許多很方便

LNMP/LAMP安装Linux系统Web网站环境及添加站点建站

我们也有很多Linux VPS主机架设网站环境的站长,不喜欢使用Web面板,我们会较多使用自己编译环境或者使用较为成熟的一键包部署Web网站环境.当前使用较多的一键包环境肯定还是军哥的LNMP环境,目前已经到1.2版本,基本上可以涵盖我们需要安装的Nginx环境的Web环境.   而且,老蒋也有看到其中也增加了Apache驱动,我们也可以安装LAMP或者LNMPA环境.对于大部分网友来说,如果我们选择不用面板,那选择一键包环境的时候建议就采用这些成熟且用户较多的环境,毕竟在稳定性以及提供的文档解