在Ubuntu上配置高性能的HHVM環(huán)境
HHVM全稱(chēng)為 HipHop Virtual Machine,它是一個(gè)開(kāi)源虛擬機(jī),用來(lái)運(yùn)行由 Hack(一種編程語(yǔ)言)和 PHP 開(kāi)發(fā)應(yīng)用。HHVM 在保證了 PHP 程序員最關(guān)注的高靈活性的要求下,通過(guò)使用***的編譯方式來(lái)取得了非凡的性能。到目前為止,相對(duì)于 PHP + APC (Alternative PHP Cache) ,HHVM 為 FaceBook 在 HTTP 請(qǐng)求的吞吐量上提高了9倍的性能,在內(nèi)存的占用上,減少了5倍左右的內(nèi)存占用。
同時(shí),HHVM 也可以與基于 FastCGI 的 Web 服務(wù)器(如 Nginx 或者 Apache )協(xié)同工作。
安裝 HHVM,Nginx和 Apache 還有 MariaDB
在本教程中,我們一起來(lái)配置 Nginx/Apache web 服務(wù)器、 數(shù)據(jù)庫(kù)服務(wù)器 MariaDB 和 HHVM 。我們將使用 Ubuntu 15.04 (64 位),因?yàn)?HHVM 只能運(yùn)行在64位系統(tǒng)上。同時(shí),該教程也適用于 Debian 和 Linux Mint。
***步: 安裝 Nginx 或者 Apache 服務(wù)器
1、首先,先進(jìn)行一次系統(tǒng)的升級(jí)并更新軟件倉(cāng)庫(kù)列表,命令如下
# apt-get update && apt-get upgrade
系統(tǒng)升級(jí)
2、 正如我之前說(shuō)的,HHVM 能和 Nginx 和 Apache 進(jìn)行集成。所以,究竟使用哪個(gè)服務(wù)器,這是你的自由,不過(guò),我們會(huì)教你如何安裝這兩個(gè)服務(wù)器。
安裝 Nginx
我們通過(guò)下面的命令安裝 Nginx/Apache 服務(wù)器
# apt-get install nginx
安裝 Nginx 服務(wù)器
安裝 Apache
# apt-get install apache2
安裝 Apache 服務(wù)器
完成這一步,你能通過(guò)以下的鏈接看到 Nginx 或者 Apache 的默認(rèn)頁(yè)面
http://localhost
或
http://IP-Address
Nginx 默認(rèn)頁(yè)面
Apache 默認(rèn)頁(yè)面
#p#
第二步: 安裝和配置 MariaDB
3、 這一步,我們將通過(guò)如下命令安裝 MariaDB,它是一個(gè)比 MySQL 性能更好的數(shù)據(jù)庫(kù)
# apt-get install mariadb-client mariadb-server
安裝 MariaDB
4、 在 MariaDB 成功安裝之后,你可以啟動(dòng)它,并且設(shè)置 root 密碼來(lái)保護(hù)數(shù)據(jù)庫(kù):
# systemctl start mysql
# mysql_secure_installation
回答以下問(wèn)題,只需要按下y
或者 n
并且回車(chē)。請(qǐng)確保你仔細(xì)的閱讀過(guò)說(shuō)明。
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、 在設(shè)置了密碼之后,你就可以登錄 MariaDB 了。
# mysql -u root -p
第三步: 安裝 HHVM
6、 在此階段,我們將安裝 HHVM。我們需要添加 HHVM 的倉(cāng)庫(kù)到你的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 發(fā)行版代號(hào)替換上述的 DISTRIBUTION_VERSION (比如:lucid, precise, trusty) 或者是 Debian 的 jessie 或者 wheezy。在 Linux Mint 中也是一樣的,不過(guò)只支持 petra。
添加了 HHVM 倉(cāng)庫(kù)之后,你就可以輕松安裝了。
# apt-get install -y hhvm
安裝之后,就可以啟動(dòng)它,但是它并沒(méi)有做到開(kāi)機(jī)啟動(dòng)??梢杂萌缦旅钭龅介_(kāi)機(jī)啟動(dòng)。
# update-rc.d hhvm defaults
第四步: 配置 Nginx/Apache 連接 HHVM
7、 現(xiàn)在,nginx/apache 和 HHVM 都已經(jīng)安裝完成了,并且都獨(dú)立運(yùn)行起來(lái)了,所以我們需要對(duì)它們進(jìn)行設(shè)置,來(lái)讓它們互相關(guān)聯(lián)。這個(gè)關(guān)鍵的步驟,就是需要告知 nginx/apache 將所有的 php 文件,都交給 HHVM 進(jìn)行處理。
如果你用了 Nginx,請(qǐng)按照如下步驟:
nginx 的配置文件在 /etc/nginx/sites-available/default, 并且這些配置文件會(huì)在 /usr/share/nginx/html 中尋找文件執(zhí)行,不過(guò),它不知道如何處理 PHP。
為了確保 Nginx 可以連接 HHVM,我們需要執(zhí)行所帶的如下腳本。它可以幫助我們正確的配置 Nginx,將 hhvm.conf 放到 上面提到的配置文件 nginx.conf 的頭部。
這個(gè)腳本可以確保 Nginx 可以對(duì) .hh 和 .php 的做正確的處理,并且將它們通過(guò) fastcgi 發(fā)送給 HHVM。
# /usr/share/hhvm/install_fastcgi.sh
配置 Nginx、HHVM
重要: 如果你使用的是 Apache,這里不需要進(jìn)行配置。
8、 接下來(lái),你需要使用 hhvm 來(lái)提供 php 的運(yùn)行環(huán)境。
# /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
以上步驟完成之后,你現(xiàn)在可以啟動(dòng)并且測(cè)試它了。
# systemctl start hhvm
第五步: 測(cè)試 HHVM 和 Nginx/Apache
9、 為了確認(rèn) hhvm 是否工作,你需要在 nginx/apache 的文檔根目錄下建立 hello.php。
# nano /usr/share/nginx/html/hello.php [對(duì)于 Nginx]
或
# nano /var/www/html/hello.php [對(duì)于 Nginx 和 Apache]
在文件中添加如下代碼:
<?php
if (defined('HHVM_VERSION')) {
echo 'HHVM is working';
phpinfo();
} else {
echo 'HHVM is not working';
}
?>
然后訪問(wèn)如下鏈接,確認(rèn)自己能否看到 "hello world"
http://localhost/info.php
或
http://IP-Address/info.php
HHVM 頁(yè)面
如果 “HHVM” 的頁(yè)面出現(xiàn)了,那就說(shuō)明你成功了。
結(jié)論
以上的步驟都是非常簡(jiǎn)單的,希望你能覺(jué)得這是一篇有用的教程,如果你在以上的步驟中遇到了問(wèn)題,給我們留一個(gè)評(píng)論,我們將全力解決。
via: http://www.tecmint.com/install-hhvm-and-nginx-apache-with-mariadb-on-debian-ubuntu/
作者:Ravi Saive 譯者:MikeCoder 校對(duì):wxy