IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Ubuntu系统部署HHVM网站环境(LEMH) – Linux, Nginx, MariaDB, HHVM

    老左发表于 2015-07-16 14:14:14
    love 0

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

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

    第一、安装Nginx

    apt-get update
    apt-get install nginx

    安装Nginx

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

    HHVM-2

    第二、安装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回车可以继续。

    MariaDB安装过程

    输入设置数据库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

    安装HHVM和PHP

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

    sh /usr/share/hhvm/install_fastcgi.sh

    HHVM-5

    然后重启HHVM

    service hhvm restart

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

    vi /var/www/html/phpinfo.php

    然后添加脚本

    测试HHVM是否安装完毕

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

    HHVM-7

    看到这个之后就没有问题了。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

    测试NGINX

    4、重启Nginx

    service nginx restart

    重启nginx使得NGINX生效。

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



沪ICP备19023445号-2号
友情链接