在 ubuntu 上配置高性能的 hhvm 环境-mile米乐体育

hhvm全称为 hiphop virtual machine,它是一个开源虚拟机,用来运行由 hack(一种编程语言)和 php 开发应用。hhvm 在保证了 php 程序员最关注的高灵活性的要求下,通过使用最新的编译方式来取得了非凡的性能。到目前为止,相对于 php apc (alternative php cache) ,hhvm 为 facebook 在 http 请求的吞吐量上提高了9倍的性能,在内存的占用上,减少了5倍左右的内存占用。

同时,hhvm 也可以与基于 fastcgi 的 web 服务器(如 nginx 或者 apache )协同工作。

安装 hhvm,nginx和 apache 还有 mariadb

在本教程中,我们一起来配置 nginx/apache web 服务器、 数据库服务器 mariadb 和 hhvm 。我们将使用 ubuntu 15.04 (64 位),因为 hhvm 只能运行在64位系统上。同时,该教程也适用于 debian 和 linux mint。

第一步: 安装 nginx 或者 apache 服务器

1、首先,先进行一次系统的升级并更新软件仓库列表,命令如下

# apt-get update && apt-get upgrade

系统升级

2、 正如我之前说的,hhvm 能和 nginx 和 apache 进行集成。所以,究竟使用哪个服务器,这是你的自由,不过,我们会教你如何安装这两个服务器。

安装 nginx

我们通过下面的命令安装 nginx/apache 服务器

# apt-get install nginx

安装 nginx 服务器

安装 apache

# apt-get install apache2

安装 apache 服务器

完成这一步,你能通过以下的链接看到 nginx 或者 apache 的默认页面

http://localhost 或  http://ip-address

nginx 默认页面

apache 默认页面

第二步: 安装和配置 mariadb

3、 这一步,我们将通过如下命令安装 mariadb,它是一个比 mysql 性能更好的数据库

# apt-get install mariadb-client mariadb-server

安装 mariadb

4、 在 mariadb 成功安装之后,你可以启动它,并且设置 root 密码来保护数据库:

# systemctl start mysql # mysql_secure_installation

回答以下问题,只需要按下y或者 n并且回车。请确保你仔细的阅读过说明。

enter current password for root (enter for none) = press enter set root password? [y/n] = y remove anonymous users[y/n] = y disallow root login remotely[y/n] = y remove test database and access to it [y/n] = y reload privileges tables now[y/n] = y

5、 在设置了密码之后,你就可以登录 mariadb 了。

# mysql -u root -p

第三步: 安装 hhvm

6、 在此阶段,我们将安装 hhvm。我们需要添加 hhvm 的仓库到你的sources.list文件中,然后更新软件列表。

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

重要:不要忘记用你的 ubuntu 发行版代号替换上述的 distribution_version (比如:lucid, precise, trusty) 或者是 debian 的 jessie 或者 wheezy。在 linux mint 中也是一样的,不过只支持 petra。

添加了 hhvm 仓库之后,你就可以轻松安装了。

# apt-get install -y hhvm

安装之后,就可以启动它,但是它并没有做到开机启动。可以用如下命令做到开机启动。

# update-rc.d hhvm defaults

第四步: 配置 nginx/apache 连接 hhvm

7、 现在,nginx/apache 和 hhvm 都已经安装完成了,并且都独立运行起来了,所以我们需要对它们进行设置,来让它们互相关联。这个关键的步骤,就是需要告知 nginx/apache 将所有的 php 文件,都交给 hhvm 进行处理。

如果你用了 nginx,请按照如下步骤:

nginx 的配置文件在 /etc/nginx/sites-available/default, 并且这些配置文件会在 /usr/share/nginx/html 中寻找文件执行,不过,它不知道如何处理 php。

为了确保 nginx 可以连接 hhvm,我们需要执行所带的如下脚本。它可以帮助我们正确的配置 nginx,将 hhvm.conf 放到 上面提到的配置文件 nginx.conf 的头部。

这个脚本可以确保 nginx 可以对 .hh 和 .php 的做正确的处理,并且将它们通过 fastcgi 发送给 hhvm。

# /usr/share/hhvm/install_fastcgi.sh

配置 nginx、hhvm

重要: 如果你使用的是 apache,这里不需要进行配置。

8、 接下来,你需要使用 hhvm 来提供 php 的运行环境。

# /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

以上步骤完成之后,你现在可以启动并且测试它了。

# systemctl start hhvm

第五步: 测试 hhvm 和 nginx/apache

9、 为了确认 hhvm 是否工作,你需要在 nginx/apache 的文档根目录下建立 hello.php。

# nano /usr/share/nginx/html/hello.php       [对于 nginx] 或 # nano /var/www/html/hello.php               [对于 nginx 和 apache]

在文件中添加如下代码:

然后访问如下链接,确认自己能否看到 “hello world

http://localhost/info.php 或  http://ip-address/info.php

hhvm 页面

如果 “hhvm” 的页面出现了,那就说明你成功了。

结论

以上的步骤都是非常简单的,希望你能觉得这是一篇有用的教程,如果你在以上的步骤中遇到了问题,给我们留一个评论,我们将全力解决。

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图