天天看點

在 Ubuntu 上配置高性能的 HHVM 環境

同時,hhvm 也可以與基于 fastcgi 的 web 伺服器(如 nginx 或者 apache )協同工作。

在 Ubuntu 上配置高性能的 HHVM 環境

安裝 hhvm,nginx和 apache 還有 mariadb

在本教程中,我們一起來配置 nginx/apache web 伺服器、 資料庫伺服器 mariadb 和 hhvm 。我們将使用 ubuntu 15.04 (64 位),因為 hhvm 隻能運作在64位系統上。同時,該教程也适用于 debian 和 linux mint。

<a target="_blank"></a>

1、首先,先進行一次系統的更新并更新軟體倉庫清單,指令如下

<code># apt-get update &amp;&amp; apt-get upgrade</code>

在 Ubuntu 上配置高性能的 HHVM 環境

系統更新

2、 正如我之前說的,hhvm 能和 nginx 和 apache 進行內建。是以,究竟使用哪個伺服器,這是你的自由,不過,我們會教你如何安裝這兩個伺服器。

我們通過下面的指令安裝 nginx/apache 伺服器

<code># apt-get install nginx</code>

在 Ubuntu 上配置高性能的 HHVM 環境

安裝 nginx 伺服器

<code># apt-get install apache2</code>

在 Ubuntu 上配置高性能的 HHVM 環境

安裝 apache 伺服器

完成這一步,你能通過以下的連結看到 nginx 或者 apache 的預設頁面

<code>http://localhost</code>

<code>或</code>

<code>http://ip-address</code>

在 Ubuntu 上配置高性能的 HHVM 環境

nginx 預設頁面

在 Ubuntu 上配置高性能的 HHVM 環境

apache 預設頁面

3、 這一步,我們将通過如下指令安裝 mariadb,它是一個比 mysql 性能更好的資料庫

<code># apt-get install mariadb-client mariadb-server</code>

在 Ubuntu 上配置高性能的 HHVM 環境

安裝 mariadb

4、 在 mariadb 成功安裝之後,你可以啟動它,并且設定 root 密碼來保護資料庫:

<code># systemctl start mysql</code>

<code># mysql_secure_installation</code>

回答以下問題,隻需要按下<code>y</code>或者 <code>n</code>并且回車。請確定你仔細的閱讀過說明。

<code>enter current password for root (enter for none) = press enter</code>

<code>set root password? [y/n] = y</code>

<code>remove anonymous users[y/n] = y</code>

<code>disallow root login remotely[y/n] = y</code>

<code>remove test database and access to it [y/n] = y</code>

<code>reload privileges tables now[y/n] = y</code>

5、 在設定了密碼之後,你就可以登入 mariadb 了。

<code># mysql -u root -p</code>

6、 在此階段,我們将安裝 hhvm。我們需要添加 hhvm 的倉庫到你的<code>sources.list</code>檔案中,然後更新軟體清單。

<code># wget -o - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -</code>

<code># echo deb http://dl.hhvm.com/ubuntu distribution_version main | sudo tee /etc/apt/sources.list.d/hhvm.list</code>

<code># apt-get update</code>

重要:不要忘記用你的 ubuntu 發行版代号替換上述的 distribution_version (比如:lucid, precise, trusty) 或者是 debian 的 jessie 或者 wheezy。在 linux mint 中也是一樣的,不過隻支援 petra。

添加了 hhvm 倉庫之後,你就可以輕松安裝了。

<code># apt-get install -y hhvm</code>

安裝之後,就可以啟動它,但是它并沒有做到開機啟動。可以用如下指令做到開機啟動。

<code># update-rc.d hhvm defaults</code>

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。

<code># /usr/share/hhvm/install_fastcgi.sh</code>

在 Ubuntu 上配置高性能的 HHVM 環境

配置 nginx、hhvm

重要: 如果你使用的是 apache,這裡不需要進行配置。

8、 接下來,你需要使用 hhvm 來提供 php 的運作環境。

<code># /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60</code>

以上步驟完成之後,你現在可以啟動并且測試它了。

<code># systemctl start hhvm</code>

9、 為了确認 hhvm 是否工作,你需要在 nginx/apache 的文檔根目錄下建立 hello.php。

<code># nano /usr/share/nginx/html/hello.php [對于 nginx]</code>

<code># nano /var/www/html/hello.php [對于 nginx 和 apache]</code>

在檔案中添加如下代碼:

<code>&lt;?php</code>

<code>if (defined('hhvm_version')) {</code>

<code>echo 'hhvm is working';</code>

<code>phpinfo();</code>

<code>} else {</code>

<code>echo 'hhvm is not working';</code>

<code>}</code>

<code>?&gt;</code>

然後通路如下連結,确認自己能否看到 "hello world"

<code>http://localhost/info.php</code>

<code>http://ip-address/info.php</code>

在 Ubuntu 上配置高性能的 HHVM 環境

hhvm 頁面

如果 “hhvm” 的頁面出現了,那就說明你成功了。

以上的步驟都是非常簡單的,希望你能覺得這是一篇有用的教程,如果你在以上的步驟中遇到了問題,給我們留一個評論,我們将全力解決。

本文來自雲栖社群合作夥伴“linux中國”,原文釋出日期:2015-09-06